home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / mac / DirectX SDK / DXSDK / include / dxtrans.h < prev    next >
C/C++ Source or Header  |  2001-10-08  |  159KB  |  5,363 lines

  1.  
  2. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  3.  
  4. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  5.  
  6.  
  7.  /* File created by MIDL compiler version 6.00.0347 */
  8. /* Compiler settings for dxtrans.idl:
  9.     Oicf, W1, Zp8, env=Win32 (32b run)
  10.     protocol : dce , ms_ext, c_ext
  11.     error checks: allocation ref bounds_check enum stub_data 
  12.     VC __declspec() decoration level: 
  13.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  14.          DECLSPEC_UUID(), MIDL_INTERFACE()
  15. */
  16. //@@MIDL_FILE_HEADING(  )
  17.  
  18.  
  19. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  20. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  21. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  22. #endif
  23.  
  24. #include "rpc.h"
  25. #include "rpcndr.h"
  26.  
  27. #ifndef __RPCNDR_H_VERSION__
  28. #error this stub requires an updated version of <rpcndr.h>
  29. #endif // __RPCNDR_H_VERSION__
  30.  
  31. #ifndef COM_NO_WINDOWS_H
  32. #include "windows.h"
  33. #include "ole2.h"
  34. #endif /*COM_NO_WINDOWS_H*/
  35.  
  36. #ifndef __dxtrans_h__
  37. #define __dxtrans_h__
  38.  
  39. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  40. #pragma once
  41. #endif
  42.  
  43. /* Forward Declarations */ 
  44.  
  45. #ifndef __IDXBaseObject_FWD_DEFINED__
  46. #define __IDXBaseObject_FWD_DEFINED__
  47. typedef interface IDXBaseObject IDXBaseObject;
  48. #endif     /* __IDXBaseObject_FWD_DEFINED__ */
  49.  
  50.  
  51. #ifndef __IDXTransformFactory_FWD_DEFINED__
  52. #define __IDXTransformFactory_FWD_DEFINED__
  53. typedef interface IDXTransformFactory IDXTransformFactory;
  54. #endif     /* __IDXTransformFactory_FWD_DEFINED__ */
  55.  
  56.  
  57. #ifndef __IDXTransform_FWD_DEFINED__
  58. #define __IDXTransform_FWD_DEFINED__
  59. typedef interface IDXTransform IDXTransform;
  60. #endif     /* __IDXTransform_FWD_DEFINED__ */
  61.  
  62.  
  63. #ifndef __IDXSurfacePick_FWD_DEFINED__
  64. #define __IDXSurfacePick_FWD_DEFINED__
  65. typedef interface IDXSurfacePick IDXSurfacePick;
  66. #endif     /* __IDXSurfacePick_FWD_DEFINED__ */
  67.  
  68.  
  69. #ifndef __IDXTBindHost_FWD_DEFINED__
  70. #define __IDXTBindHost_FWD_DEFINED__
  71. typedef interface IDXTBindHost IDXTBindHost;
  72. #endif     /* __IDXTBindHost_FWD_DEFINED__ */
  73.  
  74.  
  75. #ifndef __IDXTaskManager_FWD_DEFINED__
  76. #define __IDXTaskManager_FWD_DEFINED__
  77. typedef interface IDXTaskManager IDXTaskManager;
  78. #endif     /* __IDXTaskManager_FWD_DEFINED__ */
  79.  
  80.  
  81. #ifndef __IDXSurfaceFactory_FWD_DEFINED__
  82. #define __IDXSurfaceFactory_FWD_DEFINED__
  83. typedef interface IDXSurfaceFactory IDXSurfaceFactory;
  84. #endif     /* __IDXSurfaceFactory_FWD_DEFINED__ */
  85.  
  86.  
  87. #ifndef __IDXSurfaceModifier_FWD_DEFINED__
  88. #define __IDXSurfaceModifier_FWD_DEFINED__
  89. typedef interface IDXSurfaceModifier IDXSurfaceModifier;
  90. #endif     /* __IDXSurfaceModifier_FWD_DEFINED__ */
  91.  
  92.  
  93. #ifndef __IDXSurface_FWD_DEFINED__
  94. #define __IDXSurface_FWD_DEFINED__
  95. typedef interface IDXSurface IDXSurface;
  96. #endif     /* __IDXSurface_FWD_DEFINED__ */
  97.  
  98.  
  99. #ifndef __IDXSurfaceInit_FWD_DEFINED__
  100. #define __IDXSurfaceInit_FWD_DEFINED__
  101. typedef interface IDXSurfaceInit IDXSurfaceInit;
  102. #endif     /* __IDXSurfaceInit_FWD_DEFINED__ */
  103.  
  104.  
  105. #ifndef __IDXARGBSurfaceInit_FWD_DEFINED__
  106. #define __IDXARGBSurfaceInit_FWD_DEFINED__
  107. typedef interface IDXARGBSurfaceInit IDXARGBSurfaceInit;
  108. #endif     /* __IDXARGBSurfaceInit_FWD_DEFINED__ */
  109.  
  110.  
  111. #ifndef __IDXARGBReadPtr_FWD_DEFINED__
  112. #define __IDXARGBReadPtr_FWD_DEFINED__
  113. typedef interface IDXARGBReadPtr IDXARGBReadPtr;
  114. #endif     /* __IDXARGBReadPtr_FWD_DEFINED__ */
  115.  
  116.  
  117. #ifndef __IDXARGBReadWritePtr_FWD_DEFINED__
  118. #define __IDXARGBReadWritePtr_FWD_DEFINED__
  119. typedef interface IDXARGBReadWritePtr IDXARGBReadWritePtr;
  120. #endif     /* __IDXARGBReadWritePtr_FWD_DEFINED__ */
  121.  
  122.  
  123. #ifndef __IDXDCLock_FWD_DEFINED__
  124. #define __IDXDCLock_FWD_DEFINED__
  125. typedef interface IDXDCLock IDXDCLock;
  126. #endif     /* __IDXDCLock_FWD_DEFINED__ */
  127.  
  128.  
  129. #ifndef __IDXTScaleOutput_FWD_DEFINED__
  130. #define __IDXTScaleOutput_FWD_DEFINED__
  131. typedef interface IDXTScaleOutput IDXTScaleOutput;
  132. #endif     /* __IDXTScaleOutput_FWD_DEFINED__ */
  133.  
  134.  
  135. #ifndef __IDXGradient_FWD_DEFINED__
  136. #define __IDXGradient_FWD_DEFINED__
  137. typedef interface IDXGradient IDXGradient;
  138. #endif     /* __IDXGradient_FWD_DEFINED__ */
  139.  
  140.  
  141. #ifndef __IDXTScale_FWD_DEFINED__
  142. #define __IDXTScale_FWD_DEFINED__
  143. typedef interface IDXTScale IDXTScale;
  144. #endif     /* __IDXTScale_FWD_DEFINED__ */
  145.  
  146.  
  147. #ifndef __IDXEffect_FWD_DEFINED__
  148. #define __IDXEffect_FWD_DEFINED__
  149. typedef interface IDXEffect IDXEffect;
  150. #endif     /* __IDXEffect_FWD_DEFINED__ */
  151.  
  152.  
  153. #ifndef __IDXLookupTable_FWD_DEFINED__
  154. #define __IDXLookupTable_FWD_DEFINED__
  155. typedef interface IDXLookupTable IDXLookupTable;
  156. #endif     /* __IDXLookupTable_FWD_DEFINED__ */
  157.  
  158.  
  159. #ifndef __IDXRawSurface_FWD_DEFINED__
  160. #define __IDXRawSurface_FWD_DEFINED__
  161. typedef interface IDXRawSurface IDXRawSurface;
  162. #endif     /* __IDXRawSurface_FWD_DEFINED__ */
  163.  
  164.  
  165. #ifndef __IHTMLDXTransform_FWD_DEFINED__
  166. #define __IHTMLDXTransform_FWD_DEFINED__
  167. typedef interface IHTMLDXTransform IHTMLDXTransform;
  168. #endif     /* __IHTMLDXTransform_FWD_DEFINED__ */
  169.  
  170.  
  171. #ifndef __ICSSFilterDispatch_FWD_DEFINED__
  172. #define __ICSSFilterDispatch_FWD_DEFINED__
  173. typedef interface ICSSFilterDispatch ICSSFilterDispatch;
  174. #endif     /* __ICSSFilterDispatch_FWD_DEFINED__ */
  175.  
  176.  
  177. #ifndef __DXTransformFactory_FWD_DEFINED__
  178. #define __DXTransformFactory_FWD_DEFINED__
  179.  
  180. #ifdef __cplusplus
  181. typedef class DXTransformFactory DXTransformFactory;
  182. #else
  183. typedef struct DXTransformFactory DXTransformFactory;
  184. #endif /* __cplusplus */
  185.  
  186. #endif     /* __DXTransformFactory_FWD_DEFINED__ */
  187.  
  188.  
  189. #ifndef __DXTaskManager_FWD_DEFINED__
  190. #define __DXTaskManager_FWD_DEFINED__
  191.  
  192. #ifdef __cplusplus
  193. typedef class DXTaskManager DXTaskManager;
  194. #else
  195. typedef struct DXTaskManager DXTaskManager;
  196. #endif /* __cplusplus */
  197.  
  198. #endif     /* __DXTaskManager_FWD_DEFINED__ */
  199.  
  200.  
  201. #ifndef __DXTScale_FWD_DEFINED__
  202. #define __DXTScale_FWD_DEFINED__
  203.  
  204. #ifdef __cplusplus
  205. typedef class DXTScale DXTScale;
  206. #else
  207. typedef struct DXTScale DXTScale;
  208. #endif /* __cplusplus */
  209.  
  210. #endif     /* __DXTScale_FWD_DEFINED__ */
  211.  
  212.  
  213. #ifndef __DXSurface_FWD_DEFINED__
  214. #define __DXSurface_FWD_DEFINED__
  215.  
  216. #ifdef __cplusplus
  217. typedef class DXSurface DXSurface;
  218. #else
  219. typedef struct DXSurface DXSurface;
  220. #endif /* __cplusplus */
  221.  
  222. #endif     /* __DXSurface_FWD_DEFINED__ */
  223.  
  224.  
  225. #ifndef __DXSurfaceModifier_FWD_DEFINED__
  226. #define __DXSurfaceModifier_FWD_DEFINED__
  227.  
  228. #ifdef __cplusplus
  229. typedef class DXSurfaceModifier DXSurfaceModifier;
  230. #else
  231. typedef struct DXSurfaceModifier DXSurfaceModifier;
  232. #endif /* __cplusplus */
  233.  
  234. #endif     /* __DXSurfaceModifier_FWD_DEFINED__ */
  235.  
  236.  
  237. #ifndef __DXGradient_FWD_DEFINED__
  238. #define __DXGradient_FWD_DEFINED__
  239.  
  240. #ifdef __cplusplus
  241. typedef class DXGradient DXGradient;
  242. #else
  243. typedef struct DXGradient DXGradient;
  244. #endif /* __cplusplus */
  245.  
  246. #endif     /* __DXGradient_FWD_DEFINED__ */
  247.  
  248.  
  249. #ifndef __DXTFilter_FWD_DEFINED__
  250. #define __DXTFilter_FWD_DEFINED__
  251.  
  252. #ifdef __cplusplus
  253. typedef class DXTFilter DXTFilter;
  254. #else
  255. typedef struct DXTFilter DXTFilter;
  256. #endif /* __cplusplus */
  257.  
  258. #endif     /* __DXTFilter_FWD_DEFINED__ */
  259.  
  260.  
  261. /* header files for imported files */
  262. #include "oaidl.h"
  263. #include "ocidl.h"
  264. #include "comcat.h"
  265.  
  266. #ifdef __cplusplus
  267. extern "C"{
  268. #endif 
  269.  
  270. void * __RPC_USER MIDL_user_allocate(size_t);
  271. void __RPC_USER MIDL_user_free( void * ); 
  272.  
  273. /* interface __MIDL_itf_dxtrans_0000 */
  274. /* [local] */ 
  275.  
  276. #include <servprov.h>
  277. #include <ddraw.h>
  278. #include <d3d.h>
  279. #include <d3drm.h>
  280. #include <urlmon.h>
  281. #if 0
  282. // Bogus definition used to make MIDL compiler happy
  283. typedef void DDSURFACEDESC;
  284.  
  285. typedef void D3DRMBOX;
  286.  
  287. typedef void D3DVECTOR;
  288.  
  289. typedef void D3DRMMATRIX4D;
  290.  
  291. typedef void *LPSECURITY_ATTRIBUTES;
  292.  
  293. #endif
  294. #ifdef _DXTRANSIMPL
  295.     #define _DXTRANS_IMPL_EXT _declspec(dllexport)
  296. #else
  297.     #define _DXTRANS_IMPL_EXT _declspec(dllimport)
  298. #endif
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315. //
  316. //   All GUIDs for DXTransform are declared in DXTGUID.C in the SDK include directory
  317. //
  318. EXTERN_C const GUID DDPF_RGB1;
  319. EXTERN_C const GUID DDPF_RGB2;
  320. EXTERN_C const GUID DDPF_RGB4;
  321. EXTERN_C const GUID DDPF_RGB8;
  322. EXTERN_C const GUID DDPF_RGB332;
  323. EXTERN_C const GUID DDPF_ARGB4444;
  324. EXTERN_C const GUID DDPF_RGB565;
  325. EXTERN_C const GUID DDPF_BGR565;
  326. EXTERN_C const GUID DDPF_RGB555;
  327. EXTERN_C const GUID DDPF_ARGB1555;
  328. EXTERN_C const GUID DDPF_RGB24;
  329. EXTERN_C const GUID DDPF_BGR24;
  330. EXTERN_C const GUID DDPF_RGB32;
  331. EXTERN_C const GUID DDPF_BGR32;
  332. EXTERN_C const GUID DDPF_ABGR32;
  333. EXTERN_C const GUID DDPF_ARGB32;
  334. EXTERN_C const GUID DDPF_PMARGB32;
  335. EXTERN_C const GUID DDPF_A1;
  336. EXTERN_C const GUID DDPF_A2;
  337. EXTERN_C const GUID DDPF_A4;
  338. EXTERN_C const GUID DDPF_A8;
  339. EXTERN_C const GUID DDPF_Z8;
  340. EXTERN_C const GUID DDPF_Z16;
  341. EXTERN_C const GUID DDPF_Z24;
  342. EXTERN_C const GUID DDPF_Z32;
  343. //
  344. //   Component categories
  345. //
  346. EXTERN_C const GUID CATID_DXImageTransform;
  347. EXTERN_C const GUID CATID_DX3DTransform;
  348. EXTERN_C const GUID CATID_DXAuthoringTransform;
  349. EXTERN_C const GUID CATID_DXSurface;
  350. //
  351. //   Service IDs
  352. //
  353. EXTERN_C const GUID SID_SDirectDraw;
  354. EXTERN_C const GUID SID_SDirect3DRM;
  355. #define SID_SDXTaskManager CLSID_DXTaskManager
  356. #define SID_SDXSurfaceFactory IID_IDXSurfaceFactory
  357. #define SID_SDXTransformFactory IID_IDXTransformFactory
  358. //
  359. //   DXTransforms Core Type Library Version Info
  360. //
  361. #define DXTRANS_TLB_MAJOR_VER 1
  362. #define DXTRANS_TLB_MINOR_VER 1
  363.  
  364.  
  365. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0000_v0_0_c_ifspec;
  366. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0000_v0_0_s_ifspec;
  367.  
  368. #ifndef __IDXBaseObject_INTERFACE_DEFINED__
  369. #define __IDXBaseObject_INTERFACE_DEFINED__
  370.  
  371. /* interface IDXBaseObject */
  372. /* [local][unique][helpstring][uuid][object] */ 
  373.  
  374.  
  375. EXTERN_C const IID IID_IDXBaseObject;
  376.  
  377. #if defined(__cplusplus) && !defined(CINTERFACE)
  378.     
  379.     MIDL_INTERFACE("17B59B2B-9CC8-11d1-9053-00C04FD9189D")
  380.     IDXBaseObject : public IUnknown
  381.     {
  382.     public:
  383.         virtual HRESULT STDMETHODCALLTYPE GetGenerationId( 
  384.             /* [out] */ ULONG *pID) = 0;
  385.         
  386.         virtual HRESULT STDMETHODCALLTYPE IncrementGenerationId( 
  387.             /* [in] */ BOOL bRefresh) = 0;
  388.         
  389.         virtual HRESULT STDMETHODCALLTYPE GetObjectSize( 
  390.             /* [out] */ ULONG *pcbSize) = 0;
  391.         
  392.     };
  393.     
  394. #else     /* C style interface */
  395.  
  396.     typedef struct IDXBaseObjectVtbl
  397.     {
  398.         BEGIN_INTERFACE
  399.         
  400.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  401.             IDXBaseObject * This,
  402.             /* [in] */ REFIID riid,
  403.             /* [iid_is][out] */ void **ppvObject);
  404.         
  405.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  406.             IDXBaseObject * This);
  407.         
  408.         ULONG ( STDMETHODCALLTYPE *Release )( 
  409.             IDXBaseObject * This);
  410.         
  411.         HRESULT ( STDMETHODCALLTYPE *GetGenerationId )( 
  412.             IDXBaseObject * This,
  413.             /* [out] */ ULONG *pID);
  414.         
  415.         HRESULT ( STDMETHODCALLTYPE *IncrementGenerationId )( 
  416.             IDXBaseObject * This,
  417.             /* [in] */ BOOL bRefresh);
  418.         
  419.         HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
  420.             IDXBaseObject * This,
  421.             /* [out] */ ULONG *pcbSize);
  422.         
  423.         END_INTERFACE
  424.     } IDXBaseObjectVtbl;
  425.  
  426.     interface IDXBaseObject
  427.     {
  428.         CONST_VTBL struct IDXBaseObjectVtbl *lpVtbl;
  429.     };
  430.  
  431.     
  432.  
  433. #ifdef COBJMACROS
  434.  
  435.  
  436. #define IDXBaseObject_QueryInterface(This,riid,ppvObject)    \
  437.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  438.  
  439. #define IDXBaseObject_AddRef(This)    \
  440.     (This)->lpVtbl -> AddRef(This)
  441.  
  442. #define IDXBaseObject_Release(This)    \
  443.     (This)->lpVtbl -> Release(This)
  444.  
  445.  
  446. #define IDXBaseObject_GetGenerationId(This,pID)    \
  447.     (This)->lpVtbl -> GetGenerationId(This,pID)
  448.  
  449. #define IDXBaseObject_IncrementGenerationId(This,bRefresh)    \
  450.     (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  451.  
  452. #define IDXBaseObject_GetObjectSize(This,pcbSize)    \
  453.     (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  454.  
  455. #endif /* COBJMACROS */
  456.  
  457.  
  458. #endif     /* C style interface */
  459.  
  460.  
  461.  
  462. HRESULT STDMETHODCALLTYPE IDXBaseObject_GetGenerationId_Proxy( 
  463.     IDXBaseObject * This,
  464.     /* [out] */ ULONG *pID);
  465.  
  466.  
  467. void __RPC_STUB IDXBaseObject_GetGenerationId_Stub(
  468.     IRpcStubBuffer *This,
  469.     IRpcChannelBuffer *_pRpcChannelBuffer,
  470.     PRPC_MESSAGE _pRpcMessage,
  471.     DWORD *_pdwStubPhase);
  472.  
  473.  
  474. HRESULT STDMETHODCALLTYPE IDXBaseObject_IncrementGenerationId_Proxy( 
  475.     IDXBaseObject * This,
  476.     /* [in] */ BOOL bRefresh);
  477.  
  478.  
  479. void __RPC_STUB IDXBaseObject_IncrementGenerationId_Stub(
  480.     IRpcStubBuffer *This,
  481.     IRpcChannelBuffer *_pRpcChannelBuffer,
  482.     PRPC_MESSAGE _pRpcMessage,
  483.     DWORD *_pdwStubPhase);
  484.  
  485.  
  486. HRESULT STDMETHODCALLTYPE IDXBaseObject_GetObjectSize_Proxy( 
  487.     IDXBaseObject * This,
  488.     /* [out] */ ULONG *pcbSize);
  489.  
  490.  
  491. void __RPC_STUB IDXBaseObject_GetObjectSize_Stub(
  492.     IRpcStubBuffer *This,
  493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  494.     PRPC_MESSAGE _pRpcMessage,
  495.     DWORD *_pdwStubPhase);
  496.  
  497.  
  498.  
  499. #endif     /* __IDXBaseObject_INTERFACE_DEFINED__ */
  500.  
  501.  
  502. /* interface __MIDL_itf_dxtrans_0259 */
  503. /* [local] */ 
  504.  
  505. typedef 
  506. enum DXBNDID
  507.     {    DXB_X    = 0,
  508.     DXB_Y    = 1,
  509.     DXB_Z    = 2,
  510.     DXB_T    = 3
  511.     }     DXBNDID;
  512.  
  513. typedef 
  514. enum DXBNDTYPE
  515.     {    DXBT_DISCRETE    = 0,
  516.     DXBT_DISCRETE64    = DXBT_DISCRETE + 1,
  517.     DXBT_CONTINUOUS    = DXBT_DISCRETE64 + 1,
  518.     DXBT_CONTINUOUS64    = DXBT_CONTINUOUS + 1
  519.     }     DXBNDTYPE;
  520.  
  521. typedef struct DXDBND
  522.     {
  523.     long Min;
  524.     long Max;
  525.     }     DXDBND;
  526.  
  527. typedef DXDBND DXDBNDS[ 4 ];
  528.  
  529. typedef struct DXDBND64
  530.     {
  531.     LONGLONG Min;
  532.     LONGLONG Max;
  533.     }     DXDBND64;
  534.  
  535. typedef DXDBND64 DXDBNDS64[ 4 ];
  536.  
  537. typedef struct DXCBND
  538.     {
  539.     float Min;
  540.     float Max;
  541.     }     DXCBND;
  542.  
  543. typedef DXCBND DXCBNDS[ 4 ];
  544.  
  545. typedef struct DXCBND64
  546.     {
  547.     double Min;
  548.     double Max;
  549.     }     DXCBND64;
  550.  
  551. typedef DXCBND64 DXCBNDS64[ 4 ];
  552.  
  553. typedef struct DXBNDS
  554.     {
  555.     DXBNDTYPE eType;
  556.     /* [switch_is] */ /* [switch_type] */ union __MIDL___MIDL_itf_dxtrans_0259_0001
  557.         {
  558.         /* [case()] */ DXDBND D[ 4 ];
  559.         /* [case()] */ DXDBND64 LD[ 4 ];
  560.         /* [case()] */ DXCBND C[ 4 ];
  561.         /* [case()] */ DXCBND64 LC[ 4 ];
  562.         }     u;
  563.     }     DXBNDS;
  564.  
  565. typedef long DXDVEC[ 4 ];
  566.  
  567. typedef LONGLONG DXDVEC64[ 4 ];
  568.  
  569. typedef float DXCVEC[ 4 ];
  570.  
  571. typedef double DXCVEC64[ 4 ];
  572.  
  573. typedef struct DXVEC
  574.     {
  575.     DXBNDTYPE eType;
  576.     /* [switch_is] */ /* [switch_type] */ union __MIDL___MIDL_itf_dxtrans_0259_0002
  577.         {
  578.         /* [case()] */ long D[ 4 ];
  579.         /* [case()] */ LONGLONG LD[ 4 ];
  580.         /* [case()] */ float C[ 4 ];
  581.         /* [case()] */ double LC[ 4 ];
  582.         }     u;
  583.     }     DXVEC;
  584.  
  585.  
  586.  
  587. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0259_v0_0_c_ifspec;
  588. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0259_v0_0_s_ifspec;
  589.  
  590. #ifndef __IDXTransformFactory_INTERFACE_DEFINED__
  591. #define __IDXTransformFactory_INTERFACE_DEFINED__
  592.  
  593. /* interface IDXTransformFactory */
  594. /* [local][unique][helpstring][uuid][object] */ 
  595.  
  596.  
  597. EXTERN_C const IID IID_IDXTransformFactory;
  598.  
  599. #if defined(__cplusplus) && !defined(CINTERFACE)
  600.     
  601.     MIDL_INTERFACE("6A950B2B-A971-11d1-81C8-0000F87557DB")
  602.     IDXTransformFactory : public IServiceProvider
  603.     {
  604.     public:
  605.         virtual HRESULT STDMETHODCALLTYPE SetService( 
  606.             /* [in] */ REFGUID guidService,
  607.             /* [in] */ IUnknown *pUnkService,
  608.             /* [in] */ BOOL bWeakReference) = 0;
  609.         
  610.         virtual HRESULT STDMETHODCALLTYPE CreateTransform( 
  611.             /* [size_is][in] */ IUnknown **punkInputs,
  612.             /* [in] */ ULONG ulNumInputs,
  613.             /* [size_is][in] */ IUnknown **punkOutputs,
  614.             /* [in] */ ULONG ulNumOutputs,
  615.             /* [in] */ IPropertyBag *pInitProps,
  616.             /* [in] */ IErrorLog *pErrLog,
  617.             /* [in] */ REFCLSID TransCLSID,
  618.             /* [in] */ REFIID TransIID,
  619.             /* [iid_is][out] */ void **ppTransform) = 0;
  620.         
  621.         virtual HRESULT STDMETHODCALLTYPE InitializeTransform( 
  622.             /* [in] */ IDXTransform *pTransform,
  623.             /* [size_is][in] */ IUnknown **punkInputs,
  624.             /* [in] */ ULONG ulNumInputs,
  625.             /* [size_is][in] */ IUnknown **punkOutputs,
  626.             /* [in] */ ULONG ulNumOutputs,
  627.             /* [in] */ IPropertyBag *pInitProps,
  628.             /* [in] */ IErrorLog *pErrLog) = 0;
  629.         
  630.     };
  631.     
  632. #else     /* C style interface */
  633.  
  634.     typedef struct IDXTransformFactoryVtbl
  635.     {
  636.         BEGIN_INTERFACE
  637.         
  638.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  639.             IDXTransformFactory * This,
  640.             /* [in] */ REFIID riid,
  641.             /* [iid_is][out] */ void **ppvObject);
  642.         
  643.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  644.             IDXTransformFactory * This);
  645.         
  646.         ULONG ( STDMETHODCALLTYPE *Release )( 
  647.             IDXTransformFactory * This);
  648.         
  649.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *QueryService )( 
  650.             IDXTransformFactory * This,
  651.             /* [in] */ REFGUID guidService,
  652.             /* [in] */ REFIID riid,
  653.             /* [out] */ void **ppvObject);
  654.         
  655.         HRESULT ( STDMETHODCALLTYPE *SetService )( 
  656.             IDXTransformFactory * This,
  657.             /* [in] */ REFGUID guidService,
  658.             /* [in] */ IUnknown *pUnkService,
  659.             /* [in] */ BOOL bWeakReference);
  660.         
  661.         HRESULT ( STDMETHODCALLTYPE *CreateTransform )( 
  662.             IDXTransformFactory * This,
  663.             /* [size_is][in] */ IUnknown **punkInputs,
  664.             /* [in] */ ULONG ulNumInputs,
  665.             /* [size_is][in] */ IUnknown **punkOutputs,
  666.             /* [in] */ ULONG ulNumOutputs,
  667.             /* [in] */ IPropertyBag *pInitProps,
  668.             /* [in] */ IErrorLog *pErrLog,
  669.             /* [in] */ REFCLSID TransCLSID,
  670.             /* [in] */ REFIID TransIID,
  671.             /* [iid_is][out] */ void **ppTransform);
  672.         
  673.         HRESULT ( STDMETHODCALLTYPE *InitializeTransform )( 
  674.             IDXTransformFactory * This,
  675.             /* [in] */ IDXTransform *pTransform,
  676.             /* [size_is][in] */ IUnknown **punkInputs,
  677.             /* [in] */ ULONG ulNumInputs,
  678.             /* [size_is][in] */ IUnknown **punkOutputs,
  679.             /* [in] */ ULONG ulNumOutputs,
  680.             /* [in] */ IPropertyBag *pInitProps,
  681.             /* [in] */ IErrorLog *pErrLog);
  682.         
  683.         END_INTERFACE
  684.     } IDXTransformFactoryVtbl;
  685.  
  686.     interface IDXTransformFactory
  687.     {
  688.         CONST_VTBL struct IDXTransformFactoryVtbl *lpVtbl;
  689.     };
  690.  
  691.     
  692.  
  693. #ifdef COBJMACROS
  694.  
  695.  
  696. #define IDXTransformFactory_QueryInterface(This,riid,ppvObject)    \
  697.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  698.  
  699. #define IDXTransformFactory_AddRef(This)    \
  700.     (This)->lpVtbl -> AddRef(This)
  701.  
  702. #define IDXTransformFactory_Release(This)    \
  703.     (This)->lpVtbl -> Release(This)
  704.  
  705.  
  706. #define IDXTransformFactory_QueryService(This,guidService,riid,ppvObject)    \
  707.     (This)->lpVtbl -> QueryService(This,guidService,riid,ppvObject)
  708.  
  709.  
  710. #define IDXTransformFactory_SetService(This,guidService,pUnkService,bWeakReference)    \
  711.     (This)->lpVtbl -> SetService(This,guidService,pUnkService,bWeakReference)
  712.  
  713. #define IDXTransformFactory_CreateTransform(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog,TransCLSID,TransIID,ppTransform)    \
  714.     (This)->lpVtbl -> CreateTransform(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog,TransCLSID,TransIID,ppTransform)
  715.  
  716. #define IDXTransformFactory_InitializeTransform(This,pTransform,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog)    \
  717.     (This)->lpVtbl -> InitializeTransform(This,pTransform,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog)
  718.  
  719. #endif /* COBJMACROS */
  720.  
  721.  
  722. #endif     /* C style interface */
  723.  
  724.  
  725.  
  726. HRESULT STDMETHODCALLTYPE IDXTransformFactory_SetService_Proxy( 
  727.     IDXTransformFactory * This,
  728.     /* [in] */ REFGUID guidService,
  729.     /* [in] */ IUnknown *pUnkService,
  730.     /* [in] */ BOOL bWeakReference);
  731.  
  732.  
  733. void __RPC_STUB IDXTransformFactory_SetService_Stub(
  734.     IRpcStubBuffer *This,
  735.     IRpcChannelBuffer *_pRpcChannelBuffer,
  736.     PRPC_MESSAGE _pRpcMessage,
  737.     DWORD *_pdwStubPhase);
  738.  
  739.  
  740. HRESULT STDMETHODCALLTYPE IDXTransformFactory_CreateTransform_Proxy( 
  741.     IDXTransformFactory * This,
  742.     /* [size_is][in] */ IUnknown **punkInputs,
  743.     /* [in] */ ULONG ulNumInputs,
  744.     /* [size_is][in] */ IUnknown **punkOutputs,
  745.     /* [in] */ ULONG ulNumOutputs,
  746.     /* [in] */ IPropertyBag *pInitProps,
  747.     /* [in] */ IErrorLog *pErrLog,
  748.     /* [in] */ REFCLSID TransCLSID,
  749.     /* [in] */ REFIID TransIID,
  750.     /* [iid_is][out] */ void **ppTransform);
  751.  
  752.  
  753. void __RPC_STUB IDXTransformFactory_CreateTransform_Stub(
  754.     IRpcStubBuffer *This,
  755.     IRpcChannelBuffer *_pRpcChannelBuffer,
  756.     PRPC_MESSAGE _pRpcMessage,
  757.     DWORD *_pdwStubPhase);
  758.  
  759.  
  760. HRESULT STDMETHODCALLTYPE IDXTransformFactory_InitializeTransform_Proxy( 
  761.     IDXTransformFactory * This,
  762.     /* [in] */ IDXTransform *pTransform,
  763.     /* [size_is][in] */ IUnknown **punkInputs,
  764.     /* [in] */ ULONG ulNumInputs,
  765.     /* [size_is][in] */ IUnknown **punkOutputs,
  766.     /* [in] */ ULONG ulNumOutputs,
  767.     /* [in] */ IPropertyBag *pInitProps,
  768.     /* [in] */ IErrorLog *pErrLog);
  769.  
  770.  
  771. void __RPC_STUB IDXTransformFactory_InitializeTransform_Stub(
  772.     IRpcStubBuffer *This,
  773.     IRpcChannelBuffer *_pRpcChannelBuffer,
  774.     PRPC_MESSAGE _pRpcMessage,
  775.     DWORD *_pdwStubPhase);
  776.  
  777.  
  778.  
  779. #endif     /* __IDXTransformFactory_INTERFACE_DEFINED__ */
  780.  
  781.  
  782. /* interface __MIDL_itf_dxtrans_0260 */
  783. /* [local] */ 
  784.  
  785. typedef 
  786. enum DXTMISCFLAGS
  787.     {    DXTMF_BLEND_WITH_OUTPUT    = 1L << 0,
  788.     DXTMF_DITHER_OUTPUT    = 1L << 1,
  789.     DXTMF_OPTION_MASK    = 0xffff,
  790.     DXTMF_VALID_OPTIONS    = DXTMF_BLEND_WITH_OUTPUT | DXTMF_DITHER_OUTPUT,
  791.     DXTMF_BLEND_SUPPORTED    = 1L << 16,
  792.     DXTMF_DITHER_SUPPORTED    = 1L << 17,
  793.     DXTMF_INPLACE_OPERATION    = 1L << 24,
  794.     DXTMF_BOUNDS_SUPPORTED    = 1L << 25,
  795.     DXTMF_PLACEMENT_SUPPORTED    = 1L << 26,
  796.     DXTMF_QUALITY_SUPPORTED    = 1L << 27,
  797.     DXTMF_OPAQUE_RESULT    = 1L << 28
  798.     }     DXTMISCFLAGS;
  799.  
  800. typedef 
  801. enum DXINOUTINFOFLAGS
  802.     {    DXINOUTF_OPTIONAL    = 1L << 0
  803.     }     DXINOUTINFOFLAGS;
  804.  
  805.  
  806.  
  807. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0260_v0_0_c_ifspec;
  808. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0260_v0_0_s_ifspec;
  809.  
  810. #ifndef __IDXTransform_INTERFACE_DEFINED__
  811. #define __IDXTransform_INTERFACE_DEFINED__
  812.  
  813. /* interface IDXTransform */
  814. /* [local][unique][helpstring][uuid][object] */ 
  815.  
  816.  
  817. EXTERN_C const IID IID_IDXTransform;
  818.  
  819. #if defined(__cplusplus) && !defined(CINTERFACE)
  820.     
  821.     MIDL_INTERFACE("30A5FB78-E11F-11d1-9064-00C04FD9189D")
  822.     IDXTransform : public IDXBaseObject
  823.     {
  824.     public:
  825.         virtual HRESULT STDMETHODCALLTYPE Setup( 
  826.             /* [size_is][in] */ IUnknown *const *punkInputs,
  827.             /* [in] */ ULONG ulNumInputs,
  828.             /* [size_is][in] */ IUnknown *const *punkOutputs,
  829.             /* [in] */ ULONG ulNumOutputs,
  830.             /* [in] */ DWORD dwFlags) = 0;
  831.         
  832.         virtual HRESULT STDMETHODCALLTYPE Execute( 
  833.             /* [in] */ const GUID *pRequestID,
  834.             /* [in] */ const DXBNDS *pClipBnds,
  835.             /* [in] */ const DXVEC *pPlacement) = 0;
  836.         
  837.         virtual HRESULT STDMETHODCALLTYPE MapBoundsIn2Out( 
  838.             /* [in] */ const DXBNDS *pInBounds,
  839.             /* [in] */ ULONG ulNumInBnds,
  840.             /* [in] */ ULONG ulOutIndex,
  841.             /* [out] */ DXBNDS *pOutBounds) = 0;
  842.         
  843.         virtual HRESULT STDMETHODCALLTYPE MapBoundsOut2In( 
  844.             /* [in] */ ULONG ulOutIndex,
  845.             /* [in] */ const DXBNDS *pOutBounds,
  846.             /* [in] */ ULONG ulInIndex,
  847.             /* [out] */ DXBNDS *pInBounds) = 0;
  848.         
  849.         virtual HRESULT STDMETHODCALLTYPE SetMiscFlags( 
  850.             /* [in] */ DWORD dwMiscFlags) = 0;
  851.         
  852.         virtual HRESULT STDMETHODCALLTYPE GetMiscFlags( 
  853.             /* [out] */ DWORD *pdwMiscFlags) = 0;
  854.         
  855.         virtual HRESULT STDMETHODCALLTYPE GetInOutInfo( 
  856.             /* [in] */ BOOL bIsOutput,
  857.             /* [in] */ ULONG ulIndex,
  858.             /* [out] */ DWORD *pdwFlags,
  859.             /* [size_is][out] */ GUID *pIDs,
  860.             /* [out][in] */ ULONG *pcIDs,
  861.             /* [out] */ IUnknown **ppUnkCurrentObject) = 0;
  862.         
  863.         virtual HRESULT STDMETHODCALLTYPE SetQuality( 
  864.             /* [in] */ float fQuality) = 0;
  865.         
  866.         virtual HRESULT STDMETHODCALLTYPE GetQuality( 
  867.             /* [out] */ float *fQuality) = 0;
  868.         
  869.     };
  870.     
  871. #else     /* C style interface */
  872.  
  873.     typedef struct IDXTransformVtbl
  874.     {
  875.         BEGIN_INTERFACE
  876.         
  877.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  878.             IDXTransform * This,
  879.             /* [in] */ REFIID riid,
  880.             /* [iid_is][out] */ void **ppvObject);
  881.         
  882.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  883.             IDXTransform * This);
  884.         
  885.         ULONG ( STDMETHODCALLTYPE *Release )( 
  886.             IDXTransform * This);
  887.         
  888.         HRESULT ( STDMETHODCALLTYPE *GetGenerationId )( 
  889.             IDXTransform * This,
  890.             /* [out] */ ULONG *pID);
  891.         
  892.         HRESULT ( STDMETHODCALLTYPE *IncrementGenerationId )( 
  893.             IDXTransform * This,
  894.             /* [in] */ BOOL bRefresh);
  895.         
  896.         HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
  897.             IDXTransform * This,
  898.             /* [out] */ ULONG *pcbSize);
  899.         
  900.         HRESULT ( STDMETHODCALLTYPE *Setup )( 
  901.             IDXTransform * This,
  902.             /* [size_is][in] */ IUnknown *const *punkInputs,
  903.             /* [in] */ ULONG ulNumInputs,
  904.             /* [size_is][in] */ IUnknown *const *punkOutputs,
  905.             /* [in] */ ULONG ulNumOutputs,
  906.             /* [in] */ DWORD dwFlags);
  907.         
  908.         HRESULT ( STDMETHODCALLTYPE *Execute )( 
  909.             IDXTransform * This,
  910.             /* [in] */ const GUID *pRequestID,
  911.             /* [in] */ const DXBNDS *pClipBnds,
  912.             /* [in] */ const DXVEC *pPlacement);
  913.         
  914.         HRESULT ( STDMETHODCALLTYPE *MapBoundsIn2Out )( 
  915.             IDXTransform * This,
  916.             /* [in] */ const DXBNDS *pInBounds,
  917.             /* [in] */ ULONG ulNumInBnds,
  918.             /* [in] */ ULONG ulOutIndex,
  919.             /* [out] */ DXBNDS *pOutBounds);
  920.         
  921.         HRESULT ( STDMETHODCALLTYPE *MapBoundsOut2In )( 
  922.             IDXTransform * This,
  923.             /* [in] */ ULONG ulOutIndex,
  924.             /* [in] */ const DXBNDS *pOutBounds,
  925.             /* [in] */ ULONG ulInIndex,
  926.             /* [out] */ DXBNDS *pInBounds);
  927.         
  928.         HRESULT ( STDMETHODCALLTYPE *SetMiscFlags )( 
  929.             IDXTransform * This,
  930.             /* [in] */ DWORD dwMiscFlags);
  931.         
  932.         HRESULT ( STDMETHODCALLTYPE *GetMiscFlags )( 
  933.             IDXTransform * This,
  934.             /* [out] */ DWORD *pdwMiscFlags);
  935.         
  936.         HRESULT ( STDMETHODCALLTYPE *GetInOutInfo )( 
  937.             IDXTransform * This,
  938.             /* [in] */ BOOL bIsOutput,
  939.             /* [in] */ ULONG ulIndex,
  940.             /* [out] */ DWORD *pdwFlags,
  941.             /* [size_is][out] */ GUID *pIDs,
  942.             /* [out][in] */ ULONG *pcIDs,
  943.             /* [out] */ IUnknown **ppUnkCurrentObject);
  944.         
  945.         HRESULT ( STDMETHODCALLTYPE *SetQuality )( 
  946.             IDXTransform * This,
  947.             /* [in] */ float fQuality);
  948.         
  949.         HRESULT ( STDMETHODCALLTYPE *GetQuality )( 
  950.             IDXTransform * This,
  951.             /* [out] */ float *fQuality);
  952.         
  953.         END_INTERFACE
  954.     } IDXTransformVtbl;
  955.  
  956.     interface IDXTransform
  957.     {
  958.         CONST_VTBL struct IDXTransformVtbl *lpVtbl;
  959.     };
  960.  
  961.     
  962.  
  963. #ifdef COBJMACROS
  964.  
  965.  
  966. #define IDXTransform_QueryInterface(This,riid,ppvObject)    \
  967.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  968.  
  969. #define IDXTransform_AddRef(This)    \
  970.     (This)->lpVtbl -> AddRef(This)
  971.  
  972. #define IDXTransform_Release(This)    \
  973.     (This)->lpVtbl -> Release(This)
  974.  
  975.  
  976. #define IDXTransform_GetGenerationId(This,pID)    \
  977.     (This)->lpVtbl -> GetGenerationId(This,pID)
  978.  
  979. #define IDXTransform_IncrementGenerationId(This,bRefresh)    \
  980.     (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  981.  
  982. #define IDXTransform_GetObjectSize(This,pcbSize)    \
  983.     (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  984.  
  985.  
  986. #define IDXTransform_Setup(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,dwFlags)    \
  987.     (This)->lpVtbl -> Setup(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,dwFlags)
  988.  
  989. #define IDXTransform_Execute(This,pRequestID,pClipBnds,pPlacement)    \
  990.     (This)->lpVtbl -> Execute(This,pRequestID,pClipBnds,pPlacement)
  991.  
  992. #define IDXTransform_MapBoundsIn2Out(This,pInBounds,ulNumInBnds,ulOutIndex,pOutBounds)    \
  993.     (This)->lpVtbl -> MapBoundsIn2Out(This,pInBounds,ulNumInBnds,ulOutIndex,pOutBounds)
  994.  
  995. #define IDXTransform_MapBoundsOut2In(This,ulOutIndex,pOutBounds,ulInIndex,pInBounds)    \
  996.     (This)->lpVtbl -> MapBoundsOut2In(This,ulOutIndex,pOutBounds,ulInIndex,pInBounds)
  997.  
  998. #define IDXTransform_SetMiscFlags(This,dwMiscFlags)    \
  999.     (This)->lpVtbl -> SetMiscFlags(This,dwMiscFlags)
  1000.  
  1001. #define IDXTransform_GetMiscFlags(This,pdwMiscFlags)    \
  1002.     (This)->lpVtbl -> GetMiscFlags(This,pdwMiscFlags)
  1003.  
  1004. #define IDXTransform_GetInOutInfo(This,bIsOutput,ulIndex,pdwFlags,pIDs,pcIDs,ppUnkCurrentObject)    \
  1005.     (This)->lpVtbl -> GetInOutInfo(This,bIsOutput,ulIndex,pdwFlags,pIDs,pcIDs,ppUnkCurrentObject)
  1006.  
  1007. #define IDXTransform_SetQuality(This,fQuality)    \
  1008.     (This)->lpVtbl -> SetQuality(This,fQuality)
  1009.  
  1010. #define IDXTransform_GetQuality(This,fQuality)    \
  1011.     (This)->lpVtbl -> GetQuality(This,fQuality)
  1012.  
  1013. #endif /* COBJMACROS */
  1014.  
  1015.  
  1016. #endif     /* C style interface */
  1017.  
  1018.  
  1019.  
  1020. HRESULT STDMETHODCALLTYPE IDXTransform_Setup_Proxy( 
  1021.     IDXTransform * This,
  1022.     /* [size_is][in] */ IUnknown *const *punkInputs,
  1023.     /* [in] */ ULONG ulNumInputs,
  1024.     /* [size_is][in] */ IUnknown *const *punkOutputs,
  1025.     /* [in] */ ULONG ulNumOutputs,
  1026.     /* [in] */ DWORD dwFlags);
  1027.  
  1028.  
  1029. void __RPC_STUB IDXTransform_Setup_Stub(
  1030.     IRpcStubBuffer *This,
  1031.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1032.     PRPC_MESSAGE _pRpcMessage,
  1033.     DWORD *_pdwStubPhase);
  1034.  
  1035.  
  1036. HRESULT STDMETHODCALLTYPE IDXTransform_Execute_Proxy( 
  1037.     IDXTransform * This,
  1038.     /* [in] */ const GUID *pRequestID,
  1039.     /* [in] */ const DXBNDS *pClipBnds,
  1040.     /* [in] */ const DXVEC *pPlacement);
  1041.  
  1042.  
  1043. void __RPC_STUB IDXTransform_Execute_Stub(
  1044.     IRpcStubBuffer *This,
  1045.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1046.     PRPC_MESSAGE _pRpcMessage,
  1047.     DWORD *_pdwStubPhase);
  1048.  
  1049.  
  1050. HRESULT STDMETHODCALLTYPE IDXTransform_MapBoundsIn2Out_Proxy( 
  1051.     IDXTransform * This,
  1052.     /* [in] */ const DXBNDS *pInBounds,
  1053.     /* [in] */ ULONG ulNumInBnds,
  1054.     /* [in] */ ULONG ulOutIndex,
  1055.     /* [out] */ DXBNDS *pOutBounds);
  1056.  
  1057.  
  1058. void __RPC_STUB IDXTransform_MapBoundsIn2Out_Stub(
  1059.     IRpcStubBuffer *This,
  1060.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1061.     PRPC_MESSAGE _pRpcMessage,
  1062.     DWORD *_pdwStubPhase);
  1063.  
  1064.  
  1065. HRESULT STDMETHODCALLTYPE IDXTransform_MapBoundsOut2In_Proxy( 
  1066.     IDXTransform * This,
  1067.     /* [in] */ ULONG ulOutIndex,
  1068.     /* [in] */ const DXBNDS *pOutBounds,
  1069.     /* [in] */ ULONG ulInIndex,
  1070.     /* [out] */ DXBNDS *pInBounds);
  1071.  
  1072.  
  1073. void __RPC_STUB IDXTransform_MapBoundsOut2In_Stub(
  1074.     IRpcStubBuffer *This,
  1075.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1076.     PRPC_MESSAGE _pRpcMessage,
  1077.     DWORD *_pdwStubPhase);
  1078.  
  1079.  
  1080. HRESULT STDMETHODCALLTYPE IDXTransform_SetMiscFlags_Proxy( 
  1081.     IDXTransform * This,
  1082.     /* [in] */ DWORD dwMiscFlags);
  1083.  
  1084.  
  1085. void __RPC_STUB IDXTransform_SetMiscFlags_Stub(
  1086.     IRpcStubBuffer *This,
  1087.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1088.     PRPC_MESSAGE _pRpcMessage,
  1089.     DWORD *_pdwStubPhase);
  1090.  
  1091.  
  1092. HRESULT STDMETHODCALLTYPE IDXTransform_GetMiscFlags_Proxy( 
  1093.     IDXTransform * This,
  1094.     /* [out] */ DWORD *pdwMiscFlags);
  1095.  
  1096.  
  1097. void __RPC_STUB IDXTransform_GetMiscFlags_Stub(
  1098.     IRpcStubBuffer *This,
  1099.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1100.     PRPC_MESSAGE _pRpcMessage,
  1101.     DWORD *_pdwStubPhase);
  1102.  
  1103.  
  1104. HRESULT STDMETHODCALLTYPE IDXTransform_GetInOutInfo_Proxy( 
  1105.     IDXTransform * This,
  1106.     /* [in] */ BOOL bIsOutput,
  1107.     /* [in] */ ULONG ulIndex,
  1108.     /* [out] */ DWORD *pdwFlags,
  1109.     /* [size_is][out] */ GUID *pIDs,
  1110.     /* [out][in] */ ULONG *pcIDs,
  1111.     /* [out] */ IUnknown **ppUnkCurrentObject);
  1112.  
  1113.  
  1114. void __RPC_STUB IDXTransform_GetInOutInfo_Stub(
  1115.     IRpcStubBuffer *This,
  1116.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1117.     PRPC_MESSAGE _pRpcMessage,
  1118.     DWORD *_pdwStubPhase);
  1119.  
  1120.  
  1121. HRESULT STDMETHODCALLTYPE IDXTransform_SetQuality_Proxy( 
  1122.     IDXTransform * This,
  1123.     /* [in] */ float fQuality);
  1124.  
  1125.  
  1126. void __RPC_STUB IDXTransform_SetQuality_Stub(
  1127.     IRpcStubBuffer *This,
  1128.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1129.     PRPC_MESSAGE _pRpcMessage,
  1130.     DWORD *_pdwStubPhase);
  1131.  
  1132.  
  1133. HRESULT STDMETHODCALLTYPE IDXTransform_GetQuality_Proxy( 
  1134.     IDXTransform * This,
  1135.     /* [out] */ float *fQuality);
  1136.  
  1137.  
  1138. void __RPC_STUB IDXTransform_GetQuality_Stub(
  1139.     IRpcStubBuffer *This,
  1140.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1141.     PRPC_MESSAGE _pRpcMessage,
  1142.     DWORD *_pdwStubPhase);
  1143.  
  1144.  
  1145.  
  1146. #endif     /* __IDXTransform_INTERFACE_DEFINED__ */
  1147.  
  1148.  
  1149. #ifndef __IDXSurfacePick_INTERFACE_DEFINED__
  1150. #define __IDXSurfacePick_INTERFACE_DEFINED__
  1151.  
  1152. /* interface IDXSurfacePick */
  1153. /* [local][unique][helpstring][uuid][object] */ 
  1154.  
  1155.  
  1156. EXTERN_C const IID IID_IDXSurfacePick;
  1157.  
  1158. #if defined(__cplusplus) && !defined(CINTERFACE)
  1159.     
  1160.     MIDL_INTERFACE("30A5FB79-E11F-11d1-9064-00C04FD9189D")
  1161.     IDXSurfacePick : public IUnknown
  1162.     {
  1163.     public:
  1164.         virtual HRESULT STDMETHODCALLTYPE PointPick( 
  1165.             /* [in] */ const DXVEC *pPoint,
  1166.             /* [out] */ ULONG *pulInputSurfaceIndex,
  1167.             /* [out] */ DXVEC *pInputPoint) = 0;
  1168.         
  1169.     };
  1170.     
  1171. #else     /* C style interface */
  1172.  
  1173.     typedef struct IDXSurfacePickVtbl
  1174.     {
  1175.         BEGIN_INTERFACE
  1176.         
  1177.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1178.             IDXSurfacePick * This,
  1179.             /* [in] */ REFIID riid,
  1180.             /* [iid_is][out] */ void **ppvObject);
  1181.         
  1182.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1183.             IDXSurfacePick * This);
  1184.         
  1185.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1186.             IDXSurfacePick * This);
  1187.         
  1188.         HRESULT ( STDMETHODCALLTYPE *PointPick )( 
  1189.             IDXSurfacePick * This,
  1190.             /* [in] */ const DXVEC *pPoint,
  1191.             /* [out] */ ULONG *pulInputSurfaceIndex,
  1192.             /* [out] */ DXVEC *pInputPoint);
  1193.         
  1194.         END_INTERFACE
  1195.     } IDXSurfacePickVtbl;
  1196.  
  1197.     interface IDXSurfacePick
  1198.     {
  1199.         CONST_VTBL struct IDXSurfacePickVtbl *lpVtbl;
  1200.     };
  1201.  
  1202.     
  1203.  
  1204. #ifdef COBJMACROS
  1205.  
  1206.  
  1207. #define IDXSurfacePick_QueryInterface(This,riid,ppvObject)    \
  1208.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1209.  
  1210. #define IDXSurfacePick_AddRef(This)    \
  1211.     (This)->lpVtbl -> AddRef(This)
  1212.  
  1213. #define IDXSurfacePick_Release(This)    \
  1214.     (This)->lpVtbl -> Release(This)
  1215.  
  1216.  
  1217. #define IDXSurfacePick_PointPick(This,pPoint,pulInputSurfaceIndex,pInputPoint)    \
  1218.     (This)->lpVtbl -> PointPick(This,pPoint,pulInputSurfaceIndex,pInputPoint)
  1219.  
  1220. #endif /* COBJMACROS */
  1221.  
  1222.  
  1223. #endif     /* C style interface */
  1224.  
  1225.  
  1226.  
  1227. HRESULT STDMETHODCALLTYPE IDXSurfacePick_PointPick_Proxy( 
  1228.     IDXSurfacePick * This,
  1229.     /* [in] */ const DXVEC *pPoint,
  1230.     /* [out] */ ULONG *pulInputSurfaceIndex,
  1231.     /* [out] */ DXVEC *pInputPoint);
  1232.  
  1233.  
  1234. void __RPC_STUB IDXSurfacePick_PointPick_Stub(
  1235.     IRpcStubBuffer *This,
  1236.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1237.     PRPC_MESSAGE _pRpcMessage,
  1238.     DWORD *_pdwStubPhase);
  1239.  
  1240.  
  1241.  
  1242. #endif     /* __IDXSurfacePick_INTERFACE_DEFINED__ */
  1243.  
  1244.  
  1245. #ifndef __IDXTBindHost_INTERFACE_DEFINED__
  1246. #define __IDXTBindHost_INTERFACE_DEFINED__
  1247.  
  1248. /* interface IDXTBindHost */
  1249. /* [local][unique][helpstring][uuid][object] */ 
  1250.  
  1251.  
  1252. EXTERN_C const IID IID_IDXTBindHost;
  1253.  
  1254. #if defined(__cplusplus) && !defined(CINTERFACE)
  1255.     
  1256.     MIDL_INTERFACE("D26BCE55-E9DC-11d1-9066-00C04FD9189D")
  1257.     IDXTBindHost : public IUnknown
  1258.     {
  1259.     public:
  1260.         virtual HRESULT STDMETHODCALLTYPE SetBindHost( 
  1261.             /* [in] */ IBindHost *pBindHost) = 0;
  1262.         
  1263.     };
  1264.     
  1265. #else     /* C style interface */
  1266.  
  1267.     typedef struct IDXTBindHostVtbl
  1268.     {
  1269.         BEGIN_INTERFACE
  1270.         
  1271.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1272.             IDXTBindHost * This,
  1273.             /* [in] */ REFIID riid,
  1274.             /* [iid_is][out] */ void **ppvObject);
  1275.         
  1276.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1277.             IDXTBindHost * This);
  1278.         
  1279.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1280.             IDXTBindHost * This);
  1281.         
  1282.         HRESULT ( STDMETHODCALLTYPE *SetBindHost )( 
  1283.             IDXTBindHost * This,
  1284.             /* [in] */ IBindHost *pBindHost);
  1285.         
  1286.         END_INTERFACE
  1287.     } IDXTBindHostVtbl;
  1288.  
  1289.     interface IDXTBindHost
  1290.     {
  1291.         CONST_VTBL struct IDXTBindHostVtbl *lpVtbl;
  1292.     };
  1293.  
  1294.     
  1295.  
  1296. #ifdef COBJMACROS
  1297.  
  1298.  
  1299. #define IDXTBindHost_QueryInterface(This,riid,ppvObject)    \
  1300.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1301.  
  1302. #define IDXTBindHost_AddRef(This)    \
  1303.     (This)->lpVtbl -> AddRef(This)
  1304.  
  1305. #define IDXTBindHost_Release(This)    \
  1306.     (This)->lpVtbl -> Release(This)
  1307.  
  1308.  
  1309. #define IDXTBindHost_SetBindHost(This,pBindHost)    \
  1310.     (This)->lpVtbl -> SetBindHost(This,pBindHost)
  1311.  
  1312. #endif /* COBJMACROS */
  1313.  
  1314.  
  1315. #endif     /* C style interface */
  1316.  
  1317.  
  1318.  
  1319. HRESULT STDMETHODCALLTYPE IDXTBindHost_SetBindHost_Proxy( 
  1320.     IDXTBindHost * This,
  1321.     /* [in] */ IBindHost *pBindHost);
  1322.  
  1323.  
  1324. void __RPC_STUB IDXTBindHost_SetBindHost_Stub(
  1325.     IRpcStubBuffer *This,
  1326.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1327.     PRPC_MESSAGE _pRpcMessage,
  1328.     DWORD *_pdwStubPhase);
  1329.  
  1330.  
  1331.  
  1332. #endif     /* __IDXTBindHost_INTERFACE_DEFINED__ */
  1333.  
  1334.  
  1335. /* interface __MIDL_itf_dxtrans_0263 */
  1336. /* [local] */ 
  1337.  
  1338. typedef void __stdcall __stdcall DXTASKPROC( 
  1339.     void *pTaskData,
  1340.     BOOL *pbContinueProcessing);
  1341.  
  1342. typedef DXTASKPROC *PFNDXTASKPROC;
  1343.  
  1344. typedef void __stdcall __stdcall DXAPCPROC( 
  1345.     DWORD dwData);
  1346.  
  1347. typedef DXAPCPROC *PFNDXAPCPROC;
  1348.  
  1349. #ifdef __cplusplus
  1350. typedef struct DXTMTASKINFO
  1351. {
  1352.     PFNDXTASKPROC pfnTaskProc;       // Pointer to function to execute
  1353.     PVOID         pTaskData;         // Pointer to argument data
  1354.     PFNDXAPCPROC  pfnCompletionAPC;  // Pointer to completion APC proc
  1355.     DWORD         dwCompletionData;  // Pointer to APC proc data
  1356.     const GUID*   pRequestID;        // Used to identify groups of tasks
  1357. } DXTMTASKINFO;
  1358. #else
  1359. typedef struct DXTMTASKINFO
  1360.     {
  1361.     PVOID pfnTaskProc;
  1362.     PVOID pTaskData;
  1363.     PVOID pfnCompletionAPC;
  1364.     DWORD dwCompletionData;
  1365.     const GUID *pRequestID;
  1366.     }     DXTMTASKINFO;
  1367.  
  1368. #endif
  1369.  
  1370.  
  1371. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0263_v0_0_c_ifspec;
  1372. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0263_v0_0_s_ifspec;
  1373.  
  1374. #ifndef __IDXTaskManager_INTERFACE_DEFINED__
  1375. #define __IDXTaskManager_INTERFACE_DEFINED__
  1376.  
  1377. /* interface IDXTaskManager */
  1378. /* [local][unique][helpstring][uuid][object] */ 
  1379.  
  1380.  
  1381. EXTERN_C const IID IID_IDXTaskManager;
  1382.  
  1383. #if defined(__cplusplus) && !defined(CINTERFACE)
  1384.     
  1385.     MIDL_INTERFACE("254DBBC1-F922-11d0-883A-3C8B00C10000")
  1386.     IDXTaskManager : public IUnknown
  1387.     {
  1388.     public:
  1389.         virtual HRESULT STDMETHODCALLTYPE QueryNumProcessors( 
  1390.             /* [out] */ ULONG *pulNumProc) = 0;
  1391.         
  1392.         virtual HRESULT STDMETHODCALLTYPE SetThreadPoolSize( 
  1393.             /* [in] */ ULONG ulNumThreads) = 0;
  1394.         
  1395.         virtual HRESULT STDMETHODCALLTYPE GetThreadPoolSize( 
  1396.             /* [out] */ ULONG *pulNumThreads) = 0;
  1397.         
  1398.         virtual HRESULT STDMETHODCALLTYPE SetConcurrencyLimit( 
  1399.             /* [in] */ ULONG ulNumThreads) = 0;
  1400.         
  1401.         virtual HRESULT STDMETHODCALLTYPE GetConcurrencyLimit( 
  1402.             /* [out] */ ULONG *pulNumThreads) = 0;
  1403.         
  1404.         virtual HRESULT STDMETHODCALLTYPE ScheduleTasks( 
  1405.             /* [in] */ DXTMTASKINFO TaskInfo[  ],
  1406.             /* [in] */ HANDLE Events[  ],
  1407.             /* [out] */ DWORD TaskIDs[  ],
  1408.             /* [in] */ ULONG ulNumTasks,
  1409.             /* [in] */ ULONG ulWaitPeriod) = 0;
  1410.         
  1411.         virtual HRESULT STDMETHODCALLTYPE TerminateTasks( 
  1412.             /* [in] */ DWORD TaskIDs[  ],
  1413.             /* [in] */ ULONG ulCount,
  1414.             /* [in] */ ULONG ulTimeOut) = 0;
  1415.         
  1416.         virtual HRESULT STDMETHODCALLTYPE TerminateRequest( 
  1417.             /* [in] */ REFIID RequestID,
  1418.             /* [in] */ ULONG ulTimeOut) = 0;
  1419.         
  1420.     };
  1421.     
  1422. #else     /* C style interface */
  1423.  
  1424.     typedef struct IDXTaskManagerVtbl
  1425.     {
  1426.         BEGIN_INTERFACE
  1427.         
  1428.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1429.             IDXTaskManager * This,
  1430.             /* [in] */ REFIID riid,
  1431.             /* [iid_is][out] */ void **ppvObject);
  1432.         
  1433.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1434.             IDXTaskManager * This);
  1435.         
  1436.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1437.             IDXTaskManager * This);
  1438.         
  1439.         HRESULT ( STDMETHODCALLTYPE *QueryNumProcessors )( 
  1440.             IDXTaskManager * This,
  1441.             /* [out] */ ULONG *pulNumProc);
  1442.         
  1443.         HRESULT ( STDMETHODCALLTYPE *SetThreadPoolSize )( 
  1444.             IDXTaskManager * This,
  1445.             /* [in] */ ULONG ulNumThreads);
  1446.         
  1447.         HRESULT ( STDMETHODCALLTYPE *GetThreadPoolSize )( 
  1448.             IDXTaskManager * This,
  1449.             /* [out] */ ULONG *pulNumThreads);
  1450.         
  1451.         HRESULT ( STDMETHODCALLTYPE *SetConcurrencyLimit )( 
  1452.             IDXTaskManager * This,
  1453.             /* [in] */ ULONG ulNumThreads);
  1454.         
  1455.         HRESULT ( STDMETHODCALLTYPE *GetConcurrencyLimit )( 
  1456.             IDXTaskManager * This,
  1457.             /* [out] */ ULONG *pulNumThreads);
  1458.         
  1459.         HRESULT ( STDMETHODCALLTYPE *ScheduleTasks )( 
  1460.             IDXTaskManager * This,
  1461.             /* [in] */ DXTMTASKINFO TaskInfo[  ],
  1462.             /* [in] */ HANDLE Events[  ],
  1463.             /* [out] */ DWORD TaskIDs[  ],
  1464.             /* [in] */ ULONG ulNumTasks,
  1465.             /* [in] */ ULONG ulWaitPeriod);
  1466.         
  1467.         HRESULT ( STDMETHODCALLTYPE *TerminateTasks )( 
  1468.             IDXTaskManager * This,
  1469.             /* [in] */ DWORD TaskIDs[  ],
  1470.             /* [in] */ ULONG ulCount,
  1471.             /* [in] */ ULONG ulTimeOut);
  1472.         
  1473.         HRESULT ( STDMETHODCALLTYPE *TerminateRequest )( 
  1474.             IDXTaskManager * This,
  1475.             /* [in] */ REFIID RequestID,
  1476.             /* [in] */ ULONG ulTimeOut);
  1477.         
  1478.         END_INTERFACE
  1479.     } IDXTaskManagerVtbl;
  1480.  
  1481.     interface IDXTaskManager
  1482.     {
  1483.         CONST_VTBL struct IDXTaskManagerVtbl *lpVtbl;
  1484.     };
  1485.  
  1486.     
  1487.  
  1488. #ifdef COBJMACROS
  1489.  
  1490.  
  1491. #define IDXTaskManager_QueryInterface(This,riid,ppvObject)    \
  1492.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1493.  
  1494. #define IDXTaskManager_AddRef(This)    \
  1495.     (This)->lpVtbl -> AddRef(This)
  1496.  
  1497. #define IDXTaskManager_Release(This)    \
  1498.     (This)->lpVtbl -> Release(This)
  1499.  
  1500.  
  1501. #define IDXTaskManager_QueryNumProcessors(This,pulNumProc)    \
  1502.     (This)->lpVtbl -> QueryNumProcessors(This,pulNumProc)
  1503.  
  1504. #define IDXTaskManager_SetThreadPoolSize(This,ulNumThreads)    \
  1505.     (This)->lpVtbl -> SetThreadPoolSize(This,ulNumThreads)
  1506.  
  1507. #define IDXTaskManager_GetThreadPoolSize(This,pulNumThreads)    \
  1508.     (This)->lpVtbl -> GetThreadPoolSize(This,pulNumThreads)
  1509.  
  1510. #define IDXTaskManager_SetConcurrencyLimit(This,ulNumThreads)    \
  1511.     (This)->lpVtbl -> SetConcurrencyLimit(This,ulNumThreads)
  1512.  
  1513. #define IDXTaskManager_GetConcurrencyLimit(This,pulNumThreads)    \
  1514.     (This)->lpVtbl -> GetConcurrencyLimit(This,pulNumThreads)
  1515.  
  1516. #define IDXTaskManager_ScheduleTasks(This,TaskInfo,Events,TaskIDs,ulNumTasks,ulWaitPeriod)    \
  1517.     (This)->lpVtbl -> ScheduleTasks(This,TaskInfo,Events,TaskIDs,ulNumTasks,ulWaitPeriod)
  1518.  
  1519. #define IDXTaskManager_TerminateTasks(This,TaskIDs,ulCount,ulTimeOut)    \
  1520.     (This)->lpVtbl -> TerminateTasks(This,TaskIDs,ulCount,ulTimeOut)
  1521.  
  1522. #define IDXTaskManager_TerminateRequest(This,RequestID,ulTimeOut)    \
  1523.     (This)->lpVtbl -> TerminateRequest(This,RequestID,ulTimeOut)
  1524.  
  1525. #endif /* COBJMACROS */
  1526.  
  1527.  
  1528. #endif     /* C style interface */
  1529.  
  1530.  
  1531.  
  1532. HRESULT STDMETHODCALLTYPE IDXTaskManager_QueryNumProcessors_Proxy( 
  1533.     IDXTaskManager * This,
  1534.     /* [out] */ ULONG *pulNumProc);
  1535.  
  1536.  
  1537. void __RPC_STUB IDXTaskManager_QueryNumProcessors_Stub(
  1538.     IRpcStubBuffer *This,
  1539.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1540.     PRPC_MESSAGE _pRpcMessage,
  1541.     DWORD *_pdwStubPhase);
  1542.  
  1543.  
  1544. HRESULT STDMETHODCALLTYPE IDXTaskManager_SetThreadPoolSize_Proxy( 
  1545.     IDXTaskManager * This,
  1546.     /* [in] */ ULONG ulNumThreads);
  1547.  
  1548.  
  1549. void __RPC_STUB IDXTaskManager_SetThreadPoolSize_Stub(
  1550.     IRpcStubBuffer *This,
  1551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1552.     PRPC_MESSAGE _pRpcMessage,
  1553.     DWORD *_pdwStubPhase);
  1554.  
  1555.  
  1556. HRESULT STDMETHODCALLTYPE IDXTaskManager_GetThreadPoolSize_Proxy( 
  1557.     IDXTaskManager * This,
  1558.     /* [out] */ ULONG *pulNumThreads);
  1559.  
  1560.  
  1561. void __RPC_STUB IDXTaskManager_GetThreadPoolSize_Stub(
  1562.     IRpcStubBuffer *This,
  1563.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1564.     PRPC_MESSAGE _pRpcMessage,
  1565.     DWORD *_pdwStubPhase);
  1566.  
  1567.  
  1568. HRESULT STDMETHODCALLTYPE IDXTaskManager_SetConcurrencyLimit_Proxy( 
  1569.     IDXTaskManager * This,
  1570.     /* [in] */ ULONG ulNumThreads);
  1571.  
  1572.  
  1573. void __RPC_STUB IDXTaskManager_SetConcurrencyLimit_Stub(
  1574.     IRpcStubBuffer *This,
  1575.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1576.     PRPC_MESSAGE _pRpcMessage,
  1577.     DWORD *_pdwStubPhase);
  1578.  
  1579.  
  1580. HRESULT STDMETHODCALLTYPE IDXTaskManager_GetConcurrencyLimit_Proxy( 
  1581.     IDXTaskManager * This,
  1582.     /* [out] */ ULONG *pulNumThreads);
  1583.  
  1584.  
  1585. void __RPC_STUB IDXTaskManager_GetConcurrencyLimit_Stub(
  1586.     IRpcStubBuffer *This,
  1587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1588.     PRPC_MESSAGE _pRpcMessage,
  1589.     DWORD *_pdwStubPhase);
  1590.  
  1591.  
  1592. HRESULT STDMETHODCALLTYPE IDXTaskManager_ScheduleTasks_Proxy( 
  1593.     IDXTaskManager * This,
  1594.     /* [in] */ DXTMTASKINFO TaskInfo[  ],
  1595.     /* [in] */ HANDLE Events[  ],
  1596.     /* [out] */ DWORD TaskIDs[  ],
  1597.     /* [in] */ ULONG ulNumTasks,
  1598.     /* [in] */ ULONG ulWaitPeriod);
  1599.  
  1600.  
  1601. void __RPC_STUB IDXTaskManager_ScheduleTasks_Stub(
  1602.     IRpcStubBuffer *This,
  1603.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1604.     PRPC_MESSAGE _pRpcMessage,
  1605.     DWORD *_pdwStubPhase);
  1606.  
  1607.  
  1608. HRESULT STDMETHODCALLTYPE IDXTaskManager_TerminateTasks_Proxy( 
  1609.     IDXTaskManager * This,
  1610.     /* [in] */ DWORD TaskIDs[  ],
  1611.     /* [in] */ ULONG ulCount,
  1612.     /* [in] */ ULONG ulTimeOut);
  1613.  
  1614.  
  1615. void __RPC_STUB IDXTaskManager_TerminateTasks_Stub(
  1616.     IRpcStubBuffer *This,
  1617.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1618.     PRPC_MESSAGE _pRpcMessage,
  1619.     DWORD *_pdwStubPhase);
  1620.  
  1621.  
  1622. HRESULT STDMETHODCALLTYPE IDXTaskManager_TerminateRequest_Proxy( 
  1623.     IDXTaskManager * This,
  1624.     /* [in] */ REFIID RequestID,
  1625.     /* [in] */ ULONG ulTimeOut);
  1626.  
  1627.  
  1628. void __RPC_STUB IDXTaskManager_TerminateRequest_Stub(
  1629.     IRpcStubBuffer *This,
  1630.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1631.     PRPC_MESSAGE _pRpcMessage,
  1632.     DWORD *_pdwStubPhase);
  1633.  
  1634.  
  1635.  
  1636. #endif     /* __IDXTaskManager_INTERFACE_DEFINED__ */
  1637.  
  1638.  
  1639. /* interface __MIDL_itf_dxtrans_0264 */
  1640. /* [local] */ 
  1641.  
  1642. #ifdef __cplusplus
  1643. /////////////////////////////////////////////////////
  1644.  
  1645. class DXBASESAMPLE;
  1646. class DXSAMPLE;
  1647. class DXPMSAMPLE;
  1648.  
  1649. /////////////////////////////////////////////////////
  1650.  
  1651. class DXBASESAMPLE
  1652. {
  1653. public:
  1654.     BYTE Blue;
  1655.     BYTE Green;
  1656.     BYTE Red;
  1657.     BYTE Alpha;
  1658.     DXBASESAMPLE() {}
  1659.     DXBASESAMPLE(const BYTE alpha, const BYTE red, const BYTE green, const BYTE blue) :
  1660.         Alpha(alpha),
  1661.         Red(red),
  1662.         Green(green),
  1663.         Blue(blue) {}
  1664.     DXBASESAMPLE(const DWORD val) { *this = (*(DXBASESAMPLE *)&val); }
  1665.     operator DWORD () const {return *((DWORD *)this); }
  1666.     DWORD operator=(const DWORD val) { return *this = *((DXBASESAMPLE *)&val); }
  1667. }; // DXBASESAMPLE
  1668.  
  1669. /////////////////////////////////////////////////////
  1670.  
  1671. class DXSAMPLE : public DXBASESAMPLE
  1672. {
  1673. public:
  1674.     DXSAMPLE() {}
  1675.     DXSAMPLE(const BYTE alpha, const BYTE red, const BYTE green, const BYTE blue) :
  1676.          DXBASESAMPLE(alpha, red, green, blue) {}
  1677.     DXSAMPLE(const DWORD val) { *this = (*(DXSAMPLE *)&val); }
  1678.     operator DWORD () const {return *((DWORD *)this); }
  1679.     DWORD operator=(const DWORD val) { return *this = *((DXSAMPLE *)&val); }
  1680.     operator DXPMSAMPLE() const;
  1681. }; // DXSAMPLE
  1682.  
  1683. /////////////////////////////////////////////////////
  1684.  
  1685. class DXPMSAMPLE : public DXBASESAMPLE
  1686. {
  1687. public:
  1688.     DXPMSAMPLE() {}
  1689.     DXPMSAMPLE(const BYTE alpha, const BYTE red, const BYTE green, const BYTE blue) :
  1690.          DXBASESAMPLE(alpha, red, green, blue) {}
  1691.     DXPMSAMPLE(const DWORD val) { *this = (*(DXPMSAMPLE *)&val); }
  1692.     operator DWORD () const {return *((DWORD *)this); }
  1693.     DWORD operator=(const DWORD val) { return *this = *((DXPMSAMPLE *)&val); }
  1694.     operator DXSAMPLE() const;
  1695. }; // DXPMSAMPLE
  1696.  
  1697. //
  1698. // The following cast operators are to prevent a direct assignment of a DXSAMPLE to a DXPMSAMPLE
  1699. //
  1700. inline DXSAMPLE::operator DXPMSAMPLE() const { return *((DXPMSAMPLE *)this); }
  1701. inline DXPMSAMPLE::operator DXSAMPLE() const { return *((DXSAMPLE *)this); }
  1702. #else // !__cplusplus
  1703. typedef struct DXBASESAMPLE
  1704.     {
  1705.     BYTE Blue;
  1706.     BYTE Green;
  1707.     BYTE Red;
  1708.     BYTE Alpha;
  1709.     }     DXBASESAMPLE;
  1710.  
  1711. typedef struct DXSAMPLE
  1712.     {
  1713.     BYTE Blue;
  1714.     BYTE Green;
  1715.     BYTE Red;
  1716.     BYTE Alpha;
  1717.     }     DXSAMPLE;
  1718.  
  1719. typedef struct DXPMSAMPLE
  1720.     {
  1721.     BYTE Blue;
  1722.     BYTE Green;
  1723.     BYTE Red;
  1724.     BYTE Alpha;
  1725.     }     DXPMSAMPLE;
  1726.  
  1727. #endif // !__cplusplus
  1728. typedef 
  1729. enum DXRUNTYPE
  1730.     {    DXRUNTYPE_CLEAR    = 0,
  1731.     DXRUNTYPE_OPAQUE    = 1,
  1732.     DXRUNTYPE_TRANS    = 2,
  1733.     DXRUNTYPE_UNKNOWN    = 3
  1734.     }     DXRUNTYPE;
  1735.  
  1736. #define    DX_MAX_RUN_INFO_COUNT    ( 128 )
  1737.  
  1738. // Ignore the definition used by MIDL for TLB generation
  1739. #if 0
  1740. typedef struct DXRUNINFO
  1741.     {
  1742.     ULONG Bitfields;
  1743.     }     DXRUNINFO;
  1744.  
  1745. #endif // 0
  1746. typedef struct DXRUNINFO
  1747. {
  1748.     ULONG   Type  : 2;   // Type
  1749.     ULONG   Count : 30;  // Number of samples in run
  1750. } DXRUNINFO;
  1751. typedef 
  1752. enum DXSFCREATE
  1753.     {    DXSF_FORMAT_IS_CLSID    = 1L << 0,
  1754.     DXSF_NO_LAZY_DDRAW_LOCK    = 1L << 1
  1755.     }     DXSFCREATE;
  1756.  
  1757. typedef 
  1758. enum DXBLTOPTIONS
  1759.     {    DXBOF_DO_OVER    = 1L << 0,
  1760.     DXBOF_DITHER    = 1L << 1
  1761.     }     DXBLTOPTIONS;
  1762.  
  1763.  
  1764.  
  1765. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0264_v0_0_c_ifspec;
  1766. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0264_v0_0_s_ifspec;
  1767.  
  1768. #ifndef __IDXSurfaceFactory_INTERFACE_DEFINED__
  1769. #define __IDXSurfaceFactory_INTERFACE_DEFINED__
  1770.  
  1771. /* interface IDXSurfaceFactory */
  1772. /* [local][unique][helpstring][uuid][object] */ 
  1773.  
  1774.  
  1775. EXTERN_C const IID IID_IDXSurfaceFactory;
  1776.  
  1777. #if defined(__cplusplus) && !defined(CINTERFACE)
  1778.     
  1779.     MIDL_INTERFACE("144946F5-C4D4-11d1-81D1-0000F87557DB")
  1780.     IDXSurfaceFactory : public IUnknown
  1781.     {
  1782.     public:
  1783.         virtual HRESULT STDMETHODCALLTYPE CreateSurface( 
  1784.             /* [in] */ IUnknown *pDirectDraw,
  1785.             /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1786.             /* [in] */ const GUID *pFormatID,
  1787.             /* [in] */ const DXBNDS *pBounds,
  1788.             /* [in] */ DWORD dwFlags,
  1789.             /* [in] */ IUnknown *punkOuter,
  1790.             /* [in] */ REFIID riid,
  1791.             /* [iid_is][out] */ void **ppDXSurface) = 0;
  1792.         
  1793.         virtual HRESULT STDMETHODCALLTYPE CreateFromDDSurface( 
  1794.             /* [in] */ IUnknown *pDDrawSurface,
  1795.             /* [in] */ const GUID *pFormatID,
  1796.             /* [in] */ DWORD dwFlags,
  1797.             /* [in] */ IUnknown *punkOuter,
  1798.             /* [in] */ REFIID riid,
  1799.             /* [iid_is][out] */ void **ppDXSurface) = 0;
  1800.         
  1801.         virtual HRESULT STDMETHODCALLTYPE LoadImage( 
  1802.             /* [in] */ const LPWSTR pszFileName,
  1803.             /* [in] */ IUnknown *pDirectDraw,
  1804.             /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1805.             /* [in] */ const GUID *pFormatID,
  1806.             /* [in] */ REFIID riid,
  1807.             /* [iid_is][out] */ void **ppDXSurface) = 0;
  1808.         
  1809.         virtual HRESULT STDMETHODCALLTYPE LoadImageFromStream( 
  1810.             /* [in] */ IStream *pStream,
  1811.             /* [in] */ IUnknown *pDirectDraw,
  1812.             /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1813.             /* [in] */ const GUID *pFormatID,
  1814.             /* [in] */ REFIID riid,
  1815.             /* [iid_is][out] */ void **ppDXSurface) = 0;
  1816.         
  1817.         virtual HRESULT STDMETHODCALLTYPE CopySurfaceToNewFormat( 
  1818.             /* [in] */ IDXSurface *pSrc,
  1819.             /* [in] */ IUnknown *pDirectDraw,
  1820.             /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1821.             /* [in] */ const GUID *pDestFormatID,
  1822.             /* [out] */ IDXSurface **ppNewSurface) = 0;
  1823.         
  1824.         virtual HRESULT STDMETHODCALLTYPE CreateD3DRMTexture( 
  1825.             /* [in] */ IDXSurface *pSrc,
  1826.             /* [in] */ IUnknown *pDirectDraw,
  1827.             /* [in] */ IUnknown *pD3DRM3,
  1828.             /* [in] */ REFIID riid,
  1829.             /* [iid_is][out] */ void **ppTexture3) = 0;
  1830.         
  1831.         virtual HRESULT STDMETHODCALLTYPE BitBlt( 
  1832.             /* [in] */ IDXSurface *pDest,
  1833.             /* [in] */ const DXVEC *pPlacement,
  1834.             /* [in] */ IDXSurface *pSrc,
  1835.             /* [in] */ const DXBNDS *pClipBounds,
  1836.             /* [in] */ DWORD dwFlags) = 0;
  1837.         
  1838.     };
  1839.     
  1840. #else     /* C style interface */
  1841.  
  1842.     typedef struct IDXSurfaceFactoryVtbl
  1843.     {
  1844.         BEGIN_INTERFACE
  1845.         
  1846.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1847.             IDXSurfaceFactory * This,
  1848.             /* [in] */ REFIID riid,
  1849.             /* [iid_is][out] */ void **ppvObject);
  1850.         
  1851.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1852.             IDXSurfaceFactory * This);
  1853.         
  1854.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1855.             IDXSurfaceFactory * This);
  1856.         
  1857.         HRESULT ( STDMETHODCALLTYPE *CreateSurface )( 
  1858.             IDXSurfaceFactory * This,
  1859.             /* [in] */ IUnknown *pDirectDraw,
  1860.             /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1861.             /* [in] */ const GUID *pFormatID,
  1862.             /* [in] */ const DXBNDS *pBounds,
  1863.             /* [in] */ DWORD dwFlags,
  1864.             /* [in] */ IUnknown *punkOuter,
  1865.             /* [in] */ REFIID riid,
  1866.             /* [iid_is][out] */ void **ppDXSurface);
  1867.         
  1868.         HRESULT ( STDMETHODCALLTYPE *CreateFromDDSurface )( 
  1869.             IDXSurfaceFactory * This,
  1870.             /* [in] */ IUnknown *pDDrawSurface,
  1871.             /* [in] */ const GUID *pFormatID,
  1872.             /* [in] */ DWORD dwFlags,
  1873.             /* [in] */ IUnknown *punkOuter,
  1874.             /* [in] */ REFIID riid,
  1875.             /* [iid_is][out] */ void **ppDXSurface);
  1876.         
  1877.         HRESULT ( STDMETHODCALLTYPE *LoadImage )( 
  1878.             IDXSurfaceFactory * This,
  1879.             /* [in] */ const LPWSTR pszFileName,
  1880.             /* [in] */ IUnknown *pDirectDraw,
  1881.             /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1882.             /* [in] */ const GUID *pFormatID,
  1883.             /* [in] */ REFIID riid,
  1884.             /* [iid_is][out] */ void **ppDXSurface);
  1885.         
  1886.         HRESULT ( STDMETHODCALLTYPE *LoadImageFromStream )( 
  1887.             IDXSurfaceFactory * This,
  1888.             /* [in] */ IStream *pStream,
  1889.             /* [in] */ IUnknown *pDirectDraw,
  1890.             /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1891.             /* [in] */ const GUID *pFormatID,
  1892.             /* [in] */ REFIID riid,
  1893.             /* [iid_is][out] */ void **ppDXSurface);
  1894.         
  1895.         HRESULT ( STDMETHODCALLTYPE *CopySurfaceToNewFormat )( 
  1896.             IDXSurfaceFactory * This,
  1897.             /* [in] */ IDXSurface *pSrc,
  1898.             /* [in] */ IUnknown *pDirectDraw,
  1899.             /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1900.             /* [in] */ const GUID *pDestFormatID,
  1901.             /* [out] */ IDXSurface **ppNewSurface);
  1902.         
  1903.         HRESULT ( STDMETHODCALLTYPE *CreateD3DRMTexture )( 
  1904.             IDXSurfaceFactory * This,
  1905.             /* [in] */ IDXSurface *pSrc,
  1906.             /* [in] */ IUnknown *pDirectDraw,
  1907.             /* [in] */ IUnknown *pD3DRM3,
  1908.             /* [in] */ REFIID riid,
  1909.             /* [iid_is][out] */ void **ppTexture3);
  1910.         
  1911.         HRESULT ( STDMETHODCALLTYPE *BitBlt )( 
  1912.             IDXSurfaceFactory * This,
  1913.             /* [in] */ IDXSurface *pDest,
  1914.             /* [in] */ const DXVEC *pPlacement,
  1915.             /* [in] */ IDXSurface *pSrc,
  1916.             /* [in] */ const DXBNDS *pClipBounds,
  1917.             /* [in] */ DWORD dwFlags);
  1918.         
  1919.         END_INTERFACE
  1920.     } IDXSurfaceFactoryVtbl;
  1921.  
  1922.     interface IDXSurfaceFactory
  1923.     {
  1924.         CONST_VTBL struct IDXSurfaceFactoryVtbl *lpVtbl;
  1925.     };
  1926.  
  1927.     
  1928.  
  1929. #ifdef COBJMACROS
  1930.  
  1931.  
  1932. #define IDXSurfaceFactory_QueryInterface(This,riid,ppvObject)    \
  1933.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1934.  
  1935. #define IDXSurfaceFactory_AddRef(This)    \
  1936.     (This)->lpVtbl -> AddRef(This)
  1937.  
  1938. #define IDXSurfaceFactory_Release(This)    \
  1939.     (This)->lpVtbl -> Release(This)
  1940.  
  1941.  
  1942. #define IDXSurfaceFactory_CreateSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags,punkOuter,riid,ppDXSurface)    \
  1943.     (This)->lpVtbl -> CreateSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags,punkOuter,riid,ppDXSurface)
  1944.  
  1945. #define IDXSurfaceFactory_CreateFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags,punkOuter,riid,ppDXSurface)    \
  1946.     (This)->lpVtbl -> CreateFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags,punkOuter,riid,ppDXSurface)
  1947.  
  1948. #define IDXSurfaceFactory_LoadImage(This,pszFileName,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface)    \
  1949.     (This)->lpVtbl -> LoadImage(This,pszFileName,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface)
  1950.  
  1951. #define IDXSurfaceFactory_LoadImageFromStream(This,pStream,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface)    \
  1952.     (This)->lpVtbl -> LoadImageFromStream(This,pStream,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface)
  1953.  
  1954. #define IDXSurfaceFactory_CopySurfaceToNewFormat(This,pSrc,pDirectDraw,pDDSurfaceDesc,pDestFormatID,ppNewSurface)    \
  1955.     (This)->lpVtbl -> CopySurfaceToNewFormat(This,pSrc,pDirectDraw,pDDSurfaceDesc,pDestFormatID,ppNewSurface)
  1956.  
  1957. #define IDXSurfaceFactory_CreateD3DRMTexture(This,pSrc,pDirectDraw,pD3DRM3,riid,ppTexture3)    \
  1958.     (This)->lpVtbl -> CreateD3DRMTexture(This,pSrc,pDirectDraw,pD3DRM3,riid,ppTexture3)
  1959.  
  1960. #define IDXSurfaceFactory_BitBlt(This,pDest,pPlacement,pSrc,pClipBounds,dwFlags)    \
  1961.     (This)->lpVtbl -> BitBlt(This,pDest,pPlacement,pSrc,pClipBounds,dwFlags)
  1962.  
  1963. #endif /* COBJMACROS */
  1964.  
  1965.  
  1966. #endif     /* C style interface */
  1967.  
  1968.  
  1969.  
  1970. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateSurface_Proxy( 
  1971.     IDXSurfaceFactory * This,
  1972.     /* [in] */ IUnknown *pDirectDraw,
  1973.     /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1974.     /* [in] */ const GUID *pFormatID,
  1975.     /* [in] */ const DXBNDS *pBounds,
  1976.     /* [in] */ DWORD dwFlags,
  1977.     /* [in] */ IUnknown *punkOuter,
  1978.     /* [in] */ REFIID riid,
  1979.     /* [iid_is][out] */ void **ppDXSurface);
  1980.  
  1981.  
  1982. void __RPC_STUB IDXSurfaceFactory_CreateSurface_Stub(
  1983.     IRpcStubBuffer *This,
  1984.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1985.     PRPC_MESSAGE _pRpcMessage,
  1986.     DWORD *_pdwStubPhase);
  1987.  
  1988.  
  1989. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateFromDDSurface_Proxy( 
  1990.     IDXSurfaceFactory * This,
  1991.     /* [in] */ IUnknown *pDDrawSurface,
  1992.     /* [in] */ const GUID *pFormatID,
  1993.     /* [in] */ DWORD dwFlags,
  1994.     /* [in] */ IUnknown *punkOuter,
  1995.     /* [in] */ REFIID riid,
  1996.     /* [iid_is][out] */ void **ppDXSurface);
  1997.  
  1998.  
  1999. void __RPC_STUB IDXSurfaceFactory_CreateFromDDSurface_Stub(
  2000.     IRpcStubBuffer *This,
  2001.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2002.     PRPC_MESSAGE _pRpcMessage,
  2003.     DWORD *_pdwStubPhase);
  2004.  
  2005.  
  2006. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_LoadImage_Proxy( 
  2007.     IDXSurfaceFactory * This,
  2008.     /* [in] */ const LPWSTR pszFileName,
  2009.     /* [in] */ IUnknown *pDirectDraw,
  2010.     /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  2011.     /* [in] */ const GUID *pFormatID,
  2012.     /* [in] */ REFIID riid,
  2013.     /* [iid_is][out] */ void **ppDXSurface);
  2014.  
  2015.  
  2016. void __RPC_STUB IDXSurfaceFactory_LoadImage_Stub(
  2017.     IRpcStubBuffer *This,
  2018.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2019.     PRPC_MESSAGE _pRpcMessage,
  2020.     DWORD *_pdwStubPhase);
  2021.  
  2022.  
  2023. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_LoadImageFromStream_Proxy( 
  2024.     IDXSurfaceFactory * This,
  2025.     /* [in] */ IStream *pStream,
  2026.     /* [in] */ IUnknown *pDirectDraw,
  2027.     /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  2028.     /* [in] */ const GUID *pFormatID,
  2029.     /* [in] */ REFIID riid,
  2030.     /* [iid_is][out] */ void **ppDXSurface);
  2031.  
  2032.  
  2033. void __RPC_STUB IDXSurfaceFactory_LoadImageFromStream_Stub(
  2034.     IRpcStubBuffer *This,
  2035.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2036.     PRPC_MESSAGE _pRpcMessage,
  2037.     DWORD *_pdwStubPhase);
  2038.  
  2039.  
  2040. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CopySurfaceToNewFormat_Proxy( 
  2041.     IDXSurfaceFactory * This,
  2042.     /* [in] */ IDXSurface *pSrc,
  2043.     /* [in] */ IUnknown *pDirectDraw,
  2044.     /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  2045.     /* [in] */ const GUID *pDestFormatID,
  2046.     /* [out] */ IDXSurface **ppNewSurface);
  2047.  
  2048.  
  2049. void __RPC_STUB IDXSurfaceFactory_CopySurfaceToNewFormat_Stub(
  2050.     IRpcStubBuffer *This,
  2051.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2052.     PRPC_MESSAGE _pRpcMessage,
  2053.     DWORD *_pdwStubPhase);
  2054.  
  2055.  
  2056. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateD3DRMTexture_Proxy( 
  2057.     IDXSurfaceFactory * This,
  2058.     /* [in] */ IDXSurface *pSrc,
  2059.     /* [in] */ IUnknown *pDirectDraw,
  2060.     /* [in] */ IUnknown *pD3DRM3,
  2061.     /* [in] */ REFIID riid,
  2062.     /* [iid_is][out] */ void **ppTexture3);
  2063.  
  2064.  
  2065. void __RPC_STUB IDXSurfaceFactory_CreateD3DRMTexture_Stub(
  2066.     IRpcStubBuffer *This,
  2067.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2068.     PRPC_MESSAGE _pRpcMessage,
  2069.     DWORD *_pdwStubPhase);
  2070.  
  2071.  
  2072. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_BitBlt_Proxy( 
  2073.     IDXSurfaceFactory * This,
  2074.     /* [in] */ IDXSurface *pDest,
  2075.     /* [in] */ const DXVEC *pPlacement,
  2076.     /* [in] */ IDXSurface *pSrc,
  2077.     /* [in] */ const DXBNDS *pClipBounds,
  2078.     /* [in] */ DWORD dwFlags);
  2079.  
  2080.  
  2081. void __RPC_STUB IDXSurfaceFactory_BitBlt_Stub(
  2082.     IRpcStubBuffer *This,
  2083.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2084.     PRPC_MESSAGE _pRpcMessage,
  2085.     DWORD *_pdwStubPhase);
  2086.  
  2087.  
  2088.  
  2089. #endif     /* __IDXSurfaceFactory_INTERFACE_DEFINED__ */
  2090.  
  2091.  
  2092. /* interface __MIDL_itf_dxtrans_0265 */
  2093. /* [local] */ 
  2094.  
  2095. typedef 
  2096. enum DXSURFMODCOMPOP
  2097.     {    DXSURFMOD_COMP_OVER    = 0,
  2098.     DXSURFMOD_COMP_ALPHA_MASK    = 1,
  2099.     DXSURFMOD_COMP_MAX_VALID    = 1
  2100.     }     DXSURFMODCOMPOP;
  2101.  
  2102.  
  2103.  
  2104. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0265_v0_0_c_ifspec;
  2105. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0265_v0_0_s_ifspec;
  2106.  
  2107. #ifndef __IDXSurfaceModifier_INTERFACE_DEFINED__
  2108. #define __IDXSurfaceModifier_INTERFACE_DEFINED__
  2109.  
  2110. /* interface IDXSurfaceModifier */
  2111. /* [local][unique][helpstring][uuid][object] */ 
  2112.  
  2113.  
  2114. EXTERN_C const IID IID_IDXSurfaceModifier;
  2115.  
  2116. #if defined(__cplusplus) && !defined(CINTERFACE)
  2117.     
  2118.     MIDL_INTERFACE("9EA3B637-C37D-11d1-905E-00C04FD9189D")
  2119.     IDXSurfaceModifier : public IUnknown
  2120.     {
  2121.     public:
  2122.         virtual HRESULT STDMETHODCALLTYPE SetFillColor( 
  2123.             /* [in] */ DXSAMPLE Color) = 0;
  2124.         
  2125.         virtual HRESULT STDMETHODCALLTYPE GetFillColor( 
  2126.             /* [out] */ DXSAMPLE *pColor) = 0;
  2127.         
  2128.         virtual HRESULT STDMETHODCALLTYPE SetBounds( 
  2129.             /* [in] */ const DXBNDS *pBounds) = 0;
  2130.         
  2131.         virtual HRESULT STDMETHODCALLTYPE SetBackground( 
  2132.             /* [in] */ IDXSurface *pSurface) = 0;
  2133.         
  2134.         virtual HRESULT STDMETHODCALLTYPE GetBackground( 
  2135.             /* [out] */ IDXSurface **ppSurface) = 0;
  2136.         
  2137.         virtual HRESULT STDMETHODCALLTYPE SetCompositeOperation( 
  2138.             /* [in] */ DXSURFMODCOMPOP CompOp) = 0;
  2139.         
  2140.         virtual HRESULT STDMETHODCALLTYPE GetCompositeOperation( 
  2141.             /* [out] */ DXSURFMODCOMPOP *pCompOp) = 0;
  2142.         
  2143.         virtual HRESULT STDMETHODCALLTYPE SetForeground( 
  2144.             /* [in] */ IDXSurface *pSurface,
  2145.             /* [in] */ BOOL bTile,
  2146.             /* [in] */ const POINT *pOrigin) = 0;
  2147.         
  2148.         virtual HRESULT STDMETHODCALLTYPE GetForeground( 
  2149.             /* [out] */ IDXSurface **ppSurface,
  2150.             /* [out] */ BOOL *pbTile,
  2151.             /* [out] */ POINT *pOrigin) = 0;
  2152.         
  2153.         virtual HRESULT STDMETHODCALLTYPE SetOpacity( 
  2154.             /* [in] */ float Opacity) = 0;
  2155.         
  2156.         virtual HRESULT STDMETHODCALLTYPE GetOpacity( 
  2157.             /* [out] */ float *pOpacity) = 0;
  2158.         
  2159.         virtual HRESULT STDMETHODCALLTYPE SetLookup( 
  2160.             /* [in] */ IDXLookupTable *pLookupTable) = 0;
  2161.         
  2162.         virtual HRESULT STDMETHODCALLTYPE GetLookup( 
  2163.             /* [out] */ IDXLookupTable **ppLookupTable) = 0;
  2164.         
  2165.     };
  2166.     
  2167. #else     /* C style interface */
  2168.  
  2169.     typedef struct IDXSurfaceModifierVtbl
  2170.     {
  2171.         BEGIN_INTERFACE
  2172.         
  2173.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2174.             IDXSurfaceModifier * This,
  2175.             /* [in] */ REFIID riid,
  2176.             /* [iid_is][out] */ void **ppvObject);
  2177.         
  2178.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2179.             IDXSurfaceModifier * This);
  2180.         
  2181.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2182.             IDXSurfaceModifier * This);
  2183.         
  2184.         HRESULT ( STDMETHODCALLTYPE *SetFillColor )( 
  2185.             IDXSurfaceModifier * This,
  2186.             /* [in] */ DXSAMPLE Color);
  2187.         
  2188.         HRESULT ( STDMETHODCALLTYPE *GetFillColor )( 
  2189.             IDXSurfaceModifier * This,
  2190.             /* [out] */ DXSAMPLE *pColor);
  2191.         
  2192.         HRESULT ( STDMETHODCALLTYPE *SetBounds )( 
  2193.             IDXSurfaceModifier * This,
  2194.             /* [in] */ const DXBNDS *pBounds);
  2195.         
  2196.         HRESULT ( STDMETHODCALLTYPE *SetBackground )( 
  2197.             IDXSurfaceModifier * This,
  2198.             /* [in] */ IDXSurface *pSurface);
  2199.         
  2200.         HRESULT ( STDMETHODCALLTYPE *GetBackground )( 
  2201.             IDXSurfaceModifier * This,
  2202.             /* [out] */ IDXSurface **ppSurface);
  2203.         
  2204.         HRESULT ( STDMETHODCALLTYPE *SetCompositeOperation )( 
  2205.             IDXSurfaceModifier * This,
  2206.             /* [in] */ DXSURFMODCOMPOP CompOp);
  2207.         
  2208.         HRESULT ( STDMETHODCALLTYPE *GetCompositeOperation )( 
  2209.             IDXSurfaceModifier * This,
  2210.             /* [out] */ DXSURFMODCOMPOP *pCompOp);
  2211.         
  2212.         HRESULT ( STDMETHODCALLTYPE *SetForeground )( 
  2213.             IDXSurfaceModifier * This,
  2214.             /* [in] */ IDXSurface *pSurface,
  2215.             /* [in] */ BOOL bTile,
  2216.             /* [in] */ const POINT *pOrigin);
  2217.         
  2218.         HRESULT ( STDMETHODCALLTYPE *GetForeground )( 
  2219.             IDXSurfaceModifier * This,
  2220.             /* [out] */ IDXSurface **ppSurface,
  2221.             /* [out] */ BOOL *pbTile,
  2222.             /* [out] */ POINT *pOrigin);
  2223.         
  2224.         HRESULT ( STDMETHODCALLTYPE *SetOpacity )( 
  2225.             IDXSurfaceModifier * This,
  2226.             /* [in] */ float Opacity);
  2227.         
  2228.         HRESULT ( STDMETHODCALLTYPE *GetOpacity )( 
  2229.             IDXSurfaceModifier * This,
  2230.             /* [out] */ float *pOpacity);
  2231.         
  2232.         HRESULT ( STDMETHODCALLTYPE *SetLookup )( 
  2233.             IDXSurfaceModifier * This,
  2234.             /* [in] */ IDXLookupTable *pLookupTable);
  2235.         
  2236.         HRESULT ( STDMETHODCALLTYPE *GetLookup )( 
  2237.             IDXSurfaceModifier * This,
  2238.             /* [out] */ IDXLookupTable **ppLookupTable);
  2239.         
  2240.         END_INTERFACE
  2241.     } IDXSurfaceModifierVtbl;
  2242.  
  2243.     interface IDXSurfaceModifier
  2244.     {
  2245.         CONST_VTBL struct IDXSurfaceModifierVtbl *lpVtbl;
  2246.     };
  2247.  
  2248.     
  2249.  
  2250. #ifdef COBJMACROS
  2251.  
  2252.  
  2253. #define IDXSurfaceModifier_QueryInterface(This,riid,ppvObject)    \
  2254.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2255.  
  2256. #define IDXSurfaceModifier_AddRef(This)    \
  2257.     (This)->lpVtbl -> AddRef(This)
  2258.  
  2259. #define IDXSurfaceModifier_Release(This)    \
  2260.     (This)->lpVtbl -> Release(This)
  2261.  
  2262.  
  2263. #define IDXSurfaceModifier_SetFillColor(This,Color)    \
  2264.     (This)->lpVtbl -> SetFillColor(This,Color)
  2265.  
  2266. #define IDXSurfaceModifier_GetFillColor(This,pColor)    \
  2267.     (This)->lpVtbl -> GetFillColor(This,pColor)
  2268.  
  2269. #define IDXSurfaceModifier_SetBounds(This,pBounds)    \
  2270.     (This)->lpVtbl -> SetBounds(This,pBounds)
  2271.  
  2272. #define IDXSurfaceModifier_SetBackground(This,pSurface)    \
  2273.     (This)->lpVtbl -> SetBackground(This,pSurface)
  2274.  
  2275. #define IDXSurfaceModifier_GetBackground(This,ppSurface)    \
  2276.     (This)->lpVtbl -> GetBackground(This,ppSurface)
  2277.  
  2278. #define IDXSurfaceModifier_SetCompositeOperation(This,CompOp)    \
  2279.     (This)->lpVtbl -> SetCompositeOperation(This,CompOp)
  2280.  
  2281. #define IDXSurfaceModifier_GetCompositeOperation(This,pCompOp)    \
  2282.     (This)->lpVtbl -> GetCompositeOperation(This,pCompOp)
  2283.  
  2284. #define IDXSurfaceModifier_SetForeground(This,pSurface,bTile,pOrigin)    \
  2285.     (This)->lpVtbl -> SetForeground(This,pSurface,bTile,pOrigin)
  2286.  
  2287. #define IDXSurfaceModifier_GetForeground(This,ppSurface,pbTile,pOrigin)    \
  2288.     (This)->lpVtbl -> GetForeground(This,ppSurface,pbTile,pOrigin)
  2289.  
  2290. #define IDXSurfaceModifier_SetOpacity(This,Opacity)    \
  2291.     (This)->lpVtbl -> SetOpacity(This,Opacity)
  2292.  
  2293. #define IDXSurfaceModifier_GetOpacity(This,pOpacity)    \
  2294.     (This)->lpVtbl -> GetOpacity(This,pOpacity)
  2295.  
  2296. #define IDXSurfaceModifier_SetLookup(This,pLookupTable)    \
  2297.     (This)->lpVtbl -> SetLookup(This,pLookupTable)
  2298.  
  2299. #define IDXSurfaceModifier_GetLookup(This,ppLookupTable)    \
  2300.     (This)->lpVtbl -> GetLookup(This,ppLookupTable)
  2301.  
  2302. #endif /* COBJMACROS */
  2303.  
  2304.  
  2305. #endif     /* C style interface */
  2306.  
  2307.  
  2308.  
  2309. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetFillColor_Proxy( 
  2310.     IDXSurfaceModifier * This,
  2311.     /* [in] */ DXSAMPLE Color);
  2312.  
  2313.  
  2314. void __RPC_STUB IDXSurfaceModifier_SetFillColor_Stub(
  2315.     IRpcStubBuffer *This,
  2316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2317.     PRPC_MESSAGE _pRpcMessage,
  2318.     DWORD *_pdwStubPhase);
  2319.  
  2320.  
  2321. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetFillColor_Proxy( 
  2322.     IDXSurfaceModifier * This,
  2323.     /* [out] */ DXSAMPLE *pColor);
  2324.  
  2325.  
  2326. void __RPC_STUB IDXSurfaceModifier_GetFillColor_Stub(
  2327.     IRpcStubBuffer *This,
  2328.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2329.     PRPC_MESSAGE _pRpcMessage,
  2330.     DWORD *_pdwStubPhase);
  2331.  
  2332.  
  2333. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetBounds_Proxy( 
  2334.     IDXSurfaceModifier * This,
  2335.     /* [in] */ const DXBNDS *pBounds);
  2336.  
  2337.  
  2338. void __RPC_STUB IDXSurfaceModifier_SetBounds_Stub(
  2339.     IRpcStubBuffer *This,
  2340.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2341.     PRPC_MESSAGE _pRpcMessage,
  2342.     DWORD *_pdwStubPhase);
  2343.  
  2344.  
  2345. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetBackground_Proxy( 
  2346.     IDXSurfaceModifier * This,
  2347.     /* [in] */ IDXSurface *pSurface);
  2348.  
  2349.  
  2350. void __RPC_STUB IDXSurfaceModifier_SetBackground_Stub(
  2351.     IRpcStubBuffer *This,
  2352.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2353.     PRPC_MESSAGE _pRpcMessage,
  2354.     DWORD *_pdwStubPhase);
  2355.  
  2356.  
  2357. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetBackground_Proxy( 
  2358.     IDXSurfaceModifier * This,
  2359.     /* [out] */ IDXSurface **ppSurface);
  2360.  
  2361.  
  2362. void __RPC_STUB IDXSurfaceModifier_GetBackground_Stub(
  2363.     IRpcStubBuffer *This,
  2364.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2365.     PRPC_MESSAGE _pRpcMessage,
  2366.     DWORD *_pdwStubPhase);
  2367.  
  2368.  
  2369. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetCompositeOperation_Proxy( 
  2370.     IDXSurfaceModifier * This,
  2371.     /* [in] */ DXSURFMODCOMPOP CompOp);
  2372.  
  2373.  
  2374. void __RPC_STUB IDXSurfaceModifier_SetCompositeOperation_Stub(
  2375.     IRpcStubBuffer *This,
  2376.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2377.     PRPC_MESSAGE _pRpcMessage,
  2378.     DWORD *_pdwStubPhase);
  2379.  
  2380.  
  2381. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetCompositeOperation_Proxy( 
  2382.     IDXSurfaceModifier * This,
  2383.     /* [out] */ DXSURFMODCOMPOP *pCompOp);
  2384.  
  2385.  
  2386. void __RPC_STUB IDXSurfaceModifier_GetCompositeOperation_Stub(
  2387.     IRpcStubBuffer *This,
  2388.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2389.     PRPC_MESSAGE _pRpcMessage,
  2390.     DWORD *_pdwStubPhase);
  2391.  
  2392.  
  2393. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetForeground_Proxy( 
  2394.     IDXSurfaceModifier * This,
  2395.     /* [in] */ IDXSurface *pSurface,
  2396.     /* [in] */ BOOL bTile,
  2397.     /* [in] */ const POINT *pOrigin);
  2398.  
  2399.  
  2400. void __RPC_STUB IDXSurfaceModifier_SetForeground_Stub(
  2401.     IRpcStubBuffer *This,
  2402.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2403.     PRPC_MESSAGE _pRpcMessage,
  2404.     DWORD *_pdwStubPhase);
  2405.  
  2406.  
  2407. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetForeground_Proxy( 
  2408.     IDXSurfaceModifier * This,
  2409.     /* [out] */ IDXSurface **ppSurface,
  2410.     /* [out] */ BOOL *pbTile,
  2411.     /* [out] */ POINT *pOrigin);
  2412.  
  2413.  
  2414. void __RPC_STUB IDXSurfaceModifier_GetForeground_Stub(
  2415.     IRpcStubBuffer *This,
  2416.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2417.     PRPC_MESSAGE _pRpcMessage,
  2418.     DWORD *_pdwStubPhase);
  2419.  
  2420.  
  2421. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetOpacity_Proxy( 
  2422.     IDXSurfaceModifier * This,
  2423.     /* [in] */ float Opacity);
  2424.  
  2425.  
  2426. void __RPC_STUB IDXSurfaceModifier_SetOpacity_Stub(
  2427.     IRpcStubBuffer *This,
  2428.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2429.     PRPC_MESSAGE _pRpcMessage,
  2430.     DWORD *_pdwStubPhase);
  2431.  
  2432.  
  2433. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetOpacity_Proxy( 
  2434.     IDXSurfaceModifier * This,
  2435.     /* [out] */ float *pOpacity);
  2436.  
  2437.  
  2438. void __RPC_STUB IDXSurfaceModifier_GetOpacity_Stub(
  2439.     IRpcStubBuffer *This,
  2440.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2441.     PRPC_MESSAGE _pRpcMessage,
  2442.     DWORD *_pdwStubPhase);
  2443.  
  2444.  
  2445. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetLookup_Proxy( 
  2446.     IDXSurfaceModifier * This,
  2447.     /* [in] */ IDXLookupTable *pLookupTable);
  2448.  
  2449.  
  2450. void __RPC_STUB IDXSurfaceModifier_SetLookup_Stub(
  2451.     IRpcStubBuffer *This,
  2452.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2453.     PRPC_MESSAGE _pRpcMessage,
  2454.     DWORD *_pdwStubPhase);
  2455.  
  2456.  
  2457. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetLookup_Proxy( 
  2458.     IDXSurfaceModifier * This,
  2459.     /* [out] */ IDXLookupTable **ppLookupTable);
  2460.  
  2461.  
  2462. void __RPC_STUB IDXSurfaceModifier_GetLookup_Stub(
  2463.     IRpcStubBuffer *This,
  2464.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2465.     PRPC_MESSAGE _pRpcMessage,
  2466.     DWORD *_pdwStubPhase);
  2467.  
  2468.  
  2469.  
  2470. #endif     /* __IDXSurfaceModifier_INTERFACE_DEFINED__ */
  2471.  
  2472.  
  2473. /* interface __MIDL_itf_dxtrans_0266 */
  2474. /* [local] */ 
  2475.  
  2476. typedef 
  2477. enum DXSAMPLEFORMATENUM
  2478.     {    DXPF_FLAGSMASK    = 0xffff0000,
  2479.     DXPF_NONPREMULT    = 0x10000,
  2480.     DXPF_TRANSPARENCY    = 0x20000,
  2481.     DXPF_TRANSLUCENCY    = 0x40000,
  2482.     DXPF_2BITERROR    = 0x200000,
  2483.     DXPF_3BITERROR    = 0x300000,
  2484.     DXPF_4BITERROR    = 0x400000,
  2485.     DXPF_5BITERROR    = 0x500000,
  2486.     DXPF_ERRORMASK    = 0x700000,
  2487.     DXPF_NONSTANDARD    = 0,
  2488.     DXPF_PMARGB32    = 1 | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY,
  2489.     DXPF_ARGB32    = 2 | DXPF_NONPREMULT | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY,
  2490.     DXPF_ARGB4444    = 3 | DXPF_NONPREMULT | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY | DXPF_4BITERROR,
  2491.     DXPF_A8    = 4 | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY,
  2492.     DXPF_RGB32    = 5,
  2493.     DXPF_RGB24    = 6,
  2494.     DXPF_RGB565    = 7 | DXPF_3BITERROR,
  2495.     DXPF_RGB555    = 8 | DXPF_3BITERROR,
  2496.     DXPF_RGB8    = 9 | DXPF_5BITERROR,
  2497.     DXPF_ARGB1555    = 10 | DXPF_TRANSPARENCY | DXPF_3BITERROR,
  2498.     DXPF_RGB32_CK    = DXPF_RGB32 | DXPF_TRANSPARENCY,
  2499.     DXPF_RGB24_CK    = DXPF_RGB24 | DXPF_TRANSPARENCY,
  2500.     DXPF_RGB555_CK    = DXPF_RGB555 | DXPF_TRANSPARENCY,
  2501.     DXPF_RGB565_CK    = DXPF_RGB565 | DXPF_TRANSPARENCY,
  2502.     DXPF_RGB8_CK    = DXPF_RGB8 | DXPF_TRANSPARENCY
  2503.     }     DXSAMPLEFORMATENUM;
  2504.  
  2505. typedef 
  2506. enum DXLOCKSURF
  2507.     {    DXLOCKF_READ    = 0,
  2508.     DXLOCKF_READWRITE    = 1 << 0,
  2509.     DXLOCKF_EXISTINGINFOONLY    = 1 << 1,
  2510.     DXLOCKF_WANTRUNINFO    = 1 << 2,
  2511.     DXLOCKF_NONPREMULT    = 1 << 16,
  2512.     DXLOCKF_VALIDFLAGS    = DXLOCKF_READWRITE | DXLOCKF_EXISTINGINFOONLY | DXLOCKF_WANTRUNINFO | DXLOCKF_NONPREMULT
  2513.     }     DXLOCKSURF;
  2514.  
  2515. typedef 
  2516. enum DXSURFSTATUS
  2517.     {    DXSURF_TRANSIENT    = 1 << 0,
  2518.     DXSURF_READONLY    = 1 << 1,
  2519.     DXSURF_VALIDFLAGS    = DXSURF_TRANSIENT | DXSURF_READONLY
  2520.     }     DXSURFSTATUS;
  2521.  
  2522.  
  2523.  
  2524. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0266_v0_0_c_ifspec;
  2525. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0266_v0_0_s_ifspec;
  2526.  
  2527. #ifndef __IDXSurface_INTERFACE_DEFINED__
  2528. #define __IDXSurface_INTERFACE_DEFINED__
  2529.  
  2530. /* interface IDXSurface */
  2531. /* [local][unique][helpstring][uuid][object] */ 
  2532.  
  2533.  
  2534. EXTERN_C const IID IID_IDXSurface;
  2535.  
  2536. #if defined(__cplusplus) && !defined(CINTERFACE)
  2537.     
  2538.     MIDL_INTERFACE("B39FD73F-E139-11d1-9065-00C04FD9189D")
  2539.     IDXSurface : public IDXBaseObject
  2540.     {
  2541.     public:
  2542.         virtual HRESULT STDMETHODCALLTYPE GetPixelFormat( 
  2543.             /* [out] */ GUID *pFormatID,
  2544.             /* [out] */ DXSAMPLEFORMATENUM *pSampleFormatEnum) = 0;
  2545.         
  2546.         virtual HRESULT STDMETHODCALLTYPE GetBounds( 
  2547.             /* [out] */ DXBNDS *pBounds) = 0;
  2548.         
  2549.         virtual HRESULT STDMETHODCALLTYPE GetStatusFlags( 
  2550.             /* [out] */ DWORD *pdwStatusFlags) = 0;
  2551.         
  2552.         virtual HRESULT STDMETHODCALLTYPE SetStatusFlags( 
  2553.             /* [in] */ DWORD dwStatusFlags) = 0;
  2554.         
  2555.         virtual HRESULT STDMETHODCALLTYPE LockSurface( 
  2556.             /* [in] */ const DXBNDS *pBounds,
  2557.             /* [in] */ ULONG ulTimeOut,
  2558.             /* [in] */ DWORD dwFlags,
  2559.             /* [in] */ REFIID riid,
  2560.             /* [iid_is][out] */ void **ppPointer,
  2561.             /* [out] */ ULONG *pulGenerationId) = 0;
  2562.         
  2563.         virtual HRESULT STDMETHODCALLTYPE GetDirectDrawSurface( 
  2564.             /* [in] */ REFIID riid,
  2565.             /* [iid_is][out] */ void **ppSurface) = 0;
  2566.         
  2567.         virtual HRESULT STDMETHODCALLTYPE GetColorKey( 
  2568.             DXSAMPLE *pColorKey) = 0;
  2569.         
  2570.         virtual HRESULT STDMETHODCALLTYPE SetColorKey( 
  2571.             DXSAMPLE ColorKey) = 0;
  2572.         
  2573.         virtual HRESULT STDMETHODCALLTYPE LockSurfaceDC( 
  2574.             /* [in] */ const DXBNDS *pBounds,
  2575.             /* [in] */ ULONG ulTimeOut,
  2576.             /* [in] */ DWORD dwFlags,
  2577.             /* [out] */ IDXDCLock **ppDCLock) = 0;
  2578.         
  2579.         virtual HRESULT STDMETHODCALLTYPE SetAppData( 
  2580.             DWORD_PTR dwAppData) = 0;
  2581.         
  2582.         virtual HRESULT STDMETHODCALLTYPE GetAppData( 
  2583.             DWORD_PTR *pdwAppData) = 0;
  2584.         
  2585.     };
  2586.     
  2587. #else     /* C style interface */
  2588.  
  2589.     typedef struct IDXSurfaceVtbl
  2590.     {
  2591.         BEGIN_INTERFACE
  2592.         
  2593.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2594.             IDXSurface * This,
  2595.             /* [in] */ REFIID riid,
  2596.             /* [iid_is][out] */ void **ppvObject);
  2597.         
  2598.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2599.             IDXSurface * This);
  2600.         
  2601.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2602.             IDXSurface * This);
  2603.         
  2604.         HRESULT ( STDMETHODCALLTYPE *GetGenerationId )( 
  2605.             IDXSurface * This,
  2606.             /* [out] */ ULONG *pID);
  2607.         
  2608.         HRESULT ( STDMETHODCALLTYPE *IncrementGenerationId )( 
  2609.             IDXSurface * This,
  2610.             /* [in] */ BOOL bRefresh);
  2611.         
  2612.         HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
  2613.             IDXSurface * This,
  2614.             /* [out] */ ULONG *pcbSize);
  2615.         
  2616.         HRESULT ( STDMETHODCALLTYPE *GetPixelFormat )( 
  2617.             IDXSurface * This,
  2618.             /* [out] */ GUID *pFormatID,
  2619.             /* [out] */ DXSAMPLEFORMATENUM *pSampleFormatEnum);
  2620.         
  2621.         HRESULT ( STDMETHODCALLTYPE *GetBounds )( 
  2622.             IDXSurface * This,
  2623.             /* [out] */ DXBNDS *pBounds);
  2624.         
  2625.         HRESULT ( STDMETHODCALLTYPE *GetStatusFlags )( 
  2626.             IDXSurface * This,
  2627.             /* [out] */ DWORD *pdwStatusFlags);
  2628.         
  2629.         HRESULT ( STDMETHODCALLTYPE *SetStatusFlags )( 
  2630.             IDXSurface * This,
  2631.             /* [in] */ DWORD dwStatusFlags);
  2632.         
  2633.         HRESULT ( STDMETHODCALLTYPE *LockSurface )( 
  2634.             IDXSurface * This,
  2635.             /* [in] */ const DXBNDS *pBounds,
  2636.             /* [in] */ ULONG ulTimeOut,
  2637.             /* [in] */ DWORD dwFlags,
  2638.             /* [in] */ REFIID riid,
  2639.             /* [iid_is][out] */ void **ppPointer,
  2640.             /* [out] */ ULONG *pulGenerationId);
  2641.         
  2642.         HRESULT ( STDMETHODCALLTYPE *GetDirectDrawSurface )( 
  2643.             IDXSurface * This,
  2644.             /* [in] */ REFIID riid,
  2645.             /* [iid_is][out] */ void **ppSurface);
  2646.         
  2647.         HRESULT ( STDMETHODCALLTYPE *GetColorKey )( 
  2648.             IDXSurface * This,
  2649.             DXSAMPLE *pColorKey);
  2650.         
  2651.         HRESULT ( STDMETHODCALLTYPE *SetColorKey )( 
  2652.             IDXSurface * This,
  2653.             DXSAMPLE ColorKey);
  2654.         
  2655.         HRESULT ( STDMETHODCALLTYPE *LockSurfaceDC )( 
  2656.             IDXSurface * This,
  2657.             /* [in] */ const DXBNDS *pBounds,
  2658.             /* [in] */ ULONG ulTimeOut,
  2659.             /* [in] */ DWORD dwFlags,
  2660.             /* [out] */ IDXDCLock **ppDCLock);
  2661.         
  2662.         HRESULT ( STDMETHODCALLTYPE *SetAppData )( 
  2663.             IDXSurface * This,
  2664.             DWORD_PTR dwAppData);
  2665.         
  2666.         HRESULT ( STDMETHODCALLTYPE *GetAppData )( 
  2667.             IDXSurface * This,
  2668.             DWORD_PTR *pdwAppData);
  2669.         
  2670.         END_INTERFACE
  2671.     } IDXSurfaceVtbl;
  2672.  
  2673.     interface IDXSurface
  2674.     {
  2675.         CONST_VTBL struct IDXSurfaceVtbl *lpVtbl;
  2676.     };
  2677.  
  2678.     
  2679.  
  2680. #ifdef COBJMACROS
  2681.  
  2682.  
  2683. #define IDXSurface_QueryInterface(This,riid,ppvObject)    \
  2684.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2685.  
  2686. #define IDXSurface_AddRef(This)    \
  2687.     (This)->lpVtbl -> AddRef(This)
  2688.  
  2689. #define IDXSurface_Release(This)    \
  2690.     (This)->lpVtbl -> Release(This)
  2691.  
  2692.  
  2693. #define IDXSurface_GetGenerationId(This,pID)    \
  2694.     (This)->lpVtbl -> GetGenerationId(This,pID)
  2695.  
  2696. #define IDXSurface_IncrementGenerationId(This,bRefresh)    \
  2697.     (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  2698.  
  2699. #define IDXSurface_GetObjectSize(This,pcbSize)    \
  2700.     (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  2701.  
  2702.  
  2703. #define IDXSurface_GetPixelFormat(This,pFormatID,pSampleFormatEnum)    \
  2704.     (This)->lpVtbl -> GetPixelFormat(This,pFormatID,pSampleFormatEnum)
  2705.  
  2706. #define IDXSurface_GetBounds(This,pBounds)    \
  2707.     (This)->lpVtbl -> GetBounds(This,pBounds)
  2708.  
  2709. #define IDXSurface_GetStatusFlags(This,pdwStatusFlags)    \
  2710.     (This)->lpVtbl -> GetStatusFlags(This,pdwStatusFlags)
  2711.  
  2712. #define IDXSurface_SetStatusFlags(This,dwStatusFlags)    \
  2713.     (This)->lpVtbl -> SetStatusFlags(This,dwStatusFlags)
  2714.  
  2715. #define IDXSurface_LockSurface(This,pBounds,ulTimeOut,dwFlags,riid,ppPointer,pulGenerationId)    \
  2716.     (This)->lpVtbl -> LockSurface(This,pBounds,ulTimeOut,dwFlags,riid,ppPointer,pulGenerationId)
  2717.  
  2718. #define IDXSurface_GetDirectDrawSurface(This,riid,ppSurface)    \
  2719.     (This)->lpVtbl -> GetDirectDrawSurface(This,riid,ppSurface)
  2720.  
  2721. #define IDXSurface_GetColorKey(This,pColorKey)    \
  2722.     (This)->lpVtbl -> GetColorKey(This,pColorKey)
  2723.  
  2724. #define IDXSurface_SetColorKey(This,ColorKey)    \
  2725.     (This)->lpVtbl -> SetColorKey(This,ColorKey)
  2726.  
  2727. #define IDXSurface_LockSurfaceDC(This,pBounds,ulTimeOut,dwFlags,ppDCLock)    \
  2728.     (This)->lpVtbl -> LockSurfaceDC(This,pBounds,ulTimeOut,dwFlags,ppDCLock)
  2729.  
  2730. #define IDXSurface_SetAppData(This,dwAppData)    \
  2731.     (This)->lpVtbl -> SetAppData(This,dwAppData)
  2732.  
  2733. #define IDXSurface_GetAppData(This,pdwAppData)    \
  2734.     (This)->lpVtbl -> GetAppData(This,pdwAppData)
  2735.  
  2736. #endif /* COBJMACROS */
  2737.  
  2738.  
  2739. #endif     /* C style interface */
  2740.  
  2741.  
  2742.  
  2743. HRESULT STDMETHODCALLTYPE IDXSurface_GetPixelFormat_Proxy( 
  2744.     IDXSurface * This,
  2745.     /* [out] */ GUID *pFormatID,
  2746.     /* [out] */ DXSAMPLEFORMATENUM *pSampleFormatEnum);
  2747.  
  2748.  
  2749. void __RPC_STUB IDXSurface_GetPixelFormat_Stub(
  2750.     IRpcStubBuffer *This,
  2751.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2752.     PRPC_MESSAGE _pRpcMessage,
  2753.     DWORD *_pdwStubPhase);
  2754.  
  2755.  
  2756. HRESULT STDMETHODCALLTYPE IDXSurface_GetBounds_Proxy( 
  2757.     IDXSurface * This,
  2758.     /* [out] */ DXBNDS *pBounds);
  2759.  
  2760.  
  2761. void __RPC_STUB IDXSurface_GetBounds_Stub(
  2762.     IRpcStubBuffer *This,
  2763.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2764.     PRPC_MESSAGE _pRpcMessage,
  2765.     DWORD *_pdwStubPhase);
  2766.  
  2767.  
  2768. HRESULT STDMETHODCALLTYPE IDXSurface_GetStatusFlags_Proxy( 
  2769.     IDXSurface * This,
  2770.     /* [out] */ DWORD *pdwStatusFlags);
  2771.  
  2772.  
  2773. void __RPC_STUB IDXSurface_GetStatusFlags_Stub(
  2774.     IRpcStubBuffer *This,
  2775.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2776.     PRPC_MESSAGE _pRpcMessage,
  2777.     DWORD *_pdwStubPhase);
  2778.  
  2779.  
  2780. HRESULT STDMETHODCALLTYPE IDXSurface_SetStatusFlags_Proxy( 
  2781.     IDXSurface * This,
  2782.     /* [in] */ DWORD dwStatusFlags);
  2783.  
  2784.  
  2785. void __RPC_STUB IDXSurface_SetStatusFlags_Stub(
  2786.     IRpcStubBuffer *This,
  2787.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2788.     PRPC_MESSAGE _pRpcMessage,
  2789.     DWORD *_pdwStubPhase);
  2790.  
  2791.  
  2792. HRESULT STDMETHODCALLTYPE IDXSurface_LockSurface_Proxy( 
  2793.     IDXSurface * This,
  2794.     /* [in] */ const DXBNDS *pBounds,
  2795.     /* [in] */ ULONG ulTimeOut,
  2796.     /* [in] */ DWORD dwFlags,
  2797.     /* [in] */ REFIID riid,
  2798.     /* [iid_is][out] */ void **ppPointer,
  2799.     /* [out] */ ULONG *pulGenerationId);
  2800.  
  2801.  
  2802. void __RPC_STUB IDXSurface_LockSurface_Stub(
  2803.     IRpcStubBuffer *This,
  2804.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2805.     PRPC_MESSAGE _pRpcMessage,
  2806.     DWORD *_pdwStubPhase);
  2807.  
  2808.  
  2809. HRESULT STDMETHODCALLTYPE IDXSurface_GetDirectDrawSurface_Proxy( 
  2810.     IDXSurface * This,
  2811.     /* [in] */ REFIID riid,
  2812.     /* [iid_is][out] */ void **ppSurface);
  2813.  
  2814.  
  2815. void __RPC_STUB IDXSurface_GetDirectDrawSurface_Stub(
  2816.     IRpcStubBuffer *This,
  2817.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2818.     PRPC_MESSAGE _pRpcMessage,
  2819.     DWORD *_pdwStubPhase);
  2820.  
  2821.  
  2822. HRESULT STDMETHODCALLTYPE IDXSurface_GetColorKey_Proxy( 
  2823.     IDXSurface * This,
  2824.     DXSAMPLE *pColorKey);
  2825.  
  2826.  
  2827. void __RPC_STUB IDXSurface_GetColorKey_Stub(
  2828.     IRpcStubBuffer *This,
  2829.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2830.     PRPC_MESSAGE _pRpcMessage,
  2831.     DWORD *_pdwStubPhase);
  2832.  
  2833.  
  2834. HRESULT STDMETHODCALLTYPE IDXSurface_SetColorKey_Proxy( 
  2835.     IDXSurface * This,
  2836.     DXSAMPLE ColorKey);
  2837.  
  2838.  
  2839. void __RPC_STUB IDXSurface_SetColorKey_Stub(
  2840.     IRpcStubBuffer *This,
  2841.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2842.     PRPC_MESSAGE _pRpcMessage,
  2843.     DWORD *_pdwStubPhase);
  2844.  
  2845.  
  2846. HRESULT STDMETHODCALLTYPE IDXSurface_LockSurfaceDC_Proxy( 
  2847.     IDXSurface * This,
  2848.     /* [in] */ const DXBNDS *pBounds,
  2849.     /* [in] */ ULONG ulTimeOut,
  2850.     /* [in] */ DWORD dwFlags,
  2851.     /* [out] */ IDXDCLock **ppDCLock);
  2852.  
  2853.  
  2854. void __RPC_STUB IDXSurface_LockSurfaceDC_Stub(
  2855.     IRpcStubBuffer *This,
  2856.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2857.     PRPC_MESSAGE _pRpcMessage,
  2858.     DWORD *_pdwStubPhase);
  2859.  
  2860.  
  2861. HRESULT STDMETHODCALLTYPE IDXSurface_SetAppData_Proxy( 
  2862.     IDXSurface * This,
  2863.     DWORD_PTR dwAppData);
  2864.  
  2865.  
  2866. void __RPC_STUB IDXSurface_SetAppData_Stub(
  2867.     IRpcStubBuffer *This,
  2868.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2869.     PRPC_MESSAGE _pRpcMessage,
  2870.     DWORD *_pdwStubPhase);
  2871.  
  2872.  
  2873. HRESULT STDMETHODCALLTYPE IDXSurface_GetAppData_Proxy( 
  2874.     IDXSurface * This,
  2875.     DWORD_PTR *pdwAppData);
  2876.  
  2877.  
  2878. void __RPC_STUB IDXSurface_GetAppData_Stub(
  2879.     IRpcStubBuffer *This,
  2880.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2881.     PRPC_MESSAGE _pRpcMessage,
  2882.     DWORD *_pdwStubPhase);
  2883.  
  2884.  
  2885.  
  2886. #endif     /* __IDXSurface_INTERFACE_DEFINED__ */
  2887.  
  2888.  
  2889. #ifndef __IDXSurfaceInit_INTERFACE_DEFINED__
  2890. #define __IDXSurfaceInit_INTERFACE_DEFINED__
  2891.  
  2892. /* interface IDXSurfaceInit */
  2893. /* [local][unique][helpstring][uuid][object] */ 
  2894.  
  2895.  
  2896. EXTERN_C const IID IID_IDXSurfaceInit;
  2897.  
  2898. #if defined(__cplusplus) && !defined(CINTERFACE)
  2899.     
  2900.     MIDL_INTERFACE("9EA3B639-C37D-11d1-905E-00C04FD9189D")
  2901.     IDXSurfaceInit : public IUnknown
  2902.     {
  2903.     public:
  2904.         virtual HRESULT STDMETHODCALLTYPE InitSurface( 
  2905.             /* [in] */ IUnknown *pDirectDraw,
  2906.             /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  2907.             /* [in] */ const GUID *pFormatID,
  2908.             /* [in] */ const DXBNDS *pBounds,
  2909.             /* [in] */ DWORD dwFlags) = 0;
  2910.         
  2911.     };
  2912.     
  2913. #else     /* C style interface */
  2914.  
  2915.     typedef struct IDXSurfaceInitVtbl
  2916.     {
  2917.         BEGIN_INTERFACE
  2918.         
  2919.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2920.             IDXSurfaceInit * This,
  2921.             /* [in] */ REFIID riid,
  2922.             /* [iid_is][out] */ void **ppvObject);
  2923.         
  2924.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2925.             IDXSurfaceInit * This);
  2926.         
  2927.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2928.             IDXSurfaceInit * This);
  2929.         
  2930.         HRESULT ( STDMETHODCALLTYPE *InitSurface )( 
  2931.             IDXSurfaceInit * This,
  2932.             /* [in] */ IUnknown *pDirectDraw,
  2933.             /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  2934.             /* [in] */ const GUID *pFormatID,
  2935.             /* [in] */ const DXBNDS *pBounds,
  2936.             /* [in] */ DWORD dwFlags);
  2937.         
  2938.         END_INTERFACE
  2939.     } IDXSurfaceInitVtbl;
  2940.  
  2941.     interface IDXSurfaceInit
  2942.     {
  2943.         CONST_VTBL struct IDXSurfaceInitVtbl *lpVtbl;
  2944.     };
  2945.  
  2946.     
  2947.  
  2948. #ifdef COBJMACROS
  2949.  
  2950.  
  2951. #define IDXSurfaceInit_QueryInterface(This,riid,ppvObject)    \
  2952.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2953.  
  2954. #define IDXSurfaceInit_AddRef(This)    \
  2955.     (This)->lpVtbl -> AddRef(This)
  2956.  
  2957. #define IDXSurfaceInit_Release(This)    \
  2958.     (This)->lpVtbl -> Release(This)
  2959.  
  2960.  
  2961. #define IDXSurfaceInit_InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags)    \
  2962.     (This)->lpVtbl -> InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags)
  2963.  
  2964. #endif /* COBJMACROS */
  2965.  
  2966.  
  2967. #endif     /* C style interface */
  2968.  
  2969.  
  2970.  
  2971. HRESULT STDMETHODCALLTYPE IDXSurfaceInit_InitSurface_Proxy( 
  2972.     IDXSurfaceInit * This,
  2973.     /* [in] */ IUnknown *pDirectDraw,
  2974.     /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  2975.     /* [in] */ const GUID *pFormatID,
  2976.     /* [in] */ const DXBNDS *pBounds,
  2977.     /* [in] */ DWORD dwFlags);
  2978.  
  2979.  
  2980. void __RPC_STUB IDXSurfaceInit_InitSurface_Stub(
  2981.     IRpcStubBuffer *This,
  2982.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2983.     PRPC_MESSAGE _pRpcMessage,
  2984.     DWORD *_pdwStubPhase);
  2985.  
  2986.  
  2987.  
  2988. #endif     /* __IDXSurfaceInit_INTERFACE_DEFINED__ */
  2989.  
  2990.  
  2991. #ifndef __IDXARGBSurfaceInit_INTERFACE_DEFINED__
  2992. #define __IDXARGBSurfaceInit_INTERFACE_DEFINED__
  2993.  
  2994. /* interface IDXARGBSurfaceInit */
  2995. /* [local][unique][helpstring][uuid][object] */ 
  2996.  
  2997.  
  2998. EXTERN_C const IID IID_IDXARGBSurfaceInit;
  2999.  
  3000. #if defined(__cplusplus) && !defined(CINTERFACE)
  3001.     
  3002.     MIDL_INTERFACE("9EA3B63A-C37D-11d1-905E-00C04FD9189D")
  3003.     IDXARGBSurfaceInit : public IDXSurfaceInit
  3004.     {
  3005.     public:
  3006.         virtual HRESULT STDMETHODCALLTYPE InitFromDDSurface( 
  3007.             /* [in] */ IUnknown *pDDrawSurface,
  3008.             /* [in] */ const GUID *pFormatID,
  3009.             /* [in] */ DWORD dwFlags) = 0;
  3010.         
  3011.         virtual HRESULT STDMETHODCALLTYPE InitFromRawSurface( 
  3012.             /* [in] */ IDXRawSurface *pRawSurface) = 0;
  3013.         
  3014.     };
  3015.     
  3016. #else     /* C style interface */
  3017.  
  3018.     typedef struct IDXARGBSurfaceInitVtbl
  3019.     {
  3020.         BEGIN_INTERFACE
  3021.         
  3022.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3023.             IDXARGBSurfaceInit * This,
  3024.             /* [in] */ REFIID riid,
  3025.             /* [iid_is][out] */ void **ppvObject);
  3026.         
  3027.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3028.             IDXARGBSurfaceInit * This);
  3029.         
  3030.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3031.             IDXARGBSurfaceInit * This);
  3032.         
  3033.         HRESULT ( STDMETHODCALLTYPE *InitSurface )( 
  3034.             IDXARGBSurfaceInit * This,
  3035.             /* [in] */ IUnknown *pDirectDraw,
  3036.             /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  3037.             /* [in] */ const GUID *pFormatID,
  3038.             /* [in] */ const DXBNDS *pBounds,
  3039.             /* [in] */ DWORD dwFlags);
  3040.         
  3041.         HRESULT ( STDMETHODCALLTYPE *InitFromDDSurface )( 
  3042.             IDXARGBSurfaceInit * This,
  3043.             /* [in] */ IUnknown *pDDrawSurface,
  3044.             /* [in] */ const GUID *pFormatID,
  3045.             /* [in] */ DWORD dwFlags);
  3046.         
  3047.         HRESULT ( STDMETHODCALLTYPE *InitFromRawSurface )( 
  3048.             IDXARGBSurfaceInit * This,
  3049.             /* [in] */ IDXRawSurface *pRawSurface);
  3050.         
  3051.         END_INTERFACE
  3052.     } IDXARGBSurfaceInitVtbl;
  3053.  
  3054.     interface IDXARGBSurfaceInit
  3055.     {
  3056.         CONST_VTBL struct IDXARGBSurfaceInitVtbl *lpVtbl;
  3057.     };
  3058.  
  3059.     
  3060.  
  3061. #ifdef COBJMACROS
  3062.  
  3063.  
  3064. #define IDXARGBSurfaceInit_QueryInterface(This,riid,ppvObject)    \
  3065.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3066.  
  3067. #define IDXARGBSurfaceInit_AddRef(This)    \
  3068.     (This)->lpVtbl -> AddRef(This)
  3069.  
  3070. #define IDXARGBSurfaceInit_Release(This)    \
  3071.     (This)->lpVtbl -> Release(This)
  3072.  
  3073.  
  3074. #define IDXARGBSurfaceInit_InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags)    \
  3075.     (This)->lpVtbl -> InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags)
  3076.  
  3077.  
  3078. #define IDXARGBSurfaceInit_InitFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags)    \
  3079.     (This)->lpVtbl -> InitFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags)
  3080.  
  3081. #define IDXARGBSurfaceInit_InitFromRawSurface(This,pRawSurface)    \
  3082.     (This)->lpVtbl -> InitFromRawSurface(This,pRawSurface)
  3083.  
  3084. #endif /* COBJMACROS */
  3085.  
  3086.  
  3087. #endif     /* C style interface */
  3088.  
  3089.  
  3090.  
  3091. HRESULT STDMETHODCALLTYPE IDXARGBSurfaceInit_InitFromDDSurface_Proxy( 
  3092.     IDXARGBSurfaceInit * This,
  3093.     /* [in] */ IUnknown *pDDrawSurface,
  3094.     /* [in] */ const GUID *pFormatID,
  3095.     /* [in] */ DWORD dwFlags);
  3096.  
  3097.  
  3098. void __RPC_STUB IDXARGBSurfaceInit_InitFromDDSurface_Stub(
  3099.     IRpcStubBuffer *This,
  3100.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3101.     PRPC_MESSAGE _pRpcMessage,
  3102.     DWORD *_pdwStubPhase);
  3103.  
  3104.  
  3105. HRESULT STDMETHODCALLTYPE IDXARGBSurfaceInit_InitFromRawSurface_Proxy( 
  3106.     IDXARGBSurfaceInit * This,
  3107.     /* [in] */ IDXRawSurface *pRawSurface);
  3108.  
  3109.  
  3110. void __RPC_STUB IDXARGBSurfaceInit_InitFromRawSurface_Stub(
  3111.     IRpcStubBuffer *This,
  3112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3113.     PRPC_MESSAGE _pRpcMessage,
  3114.     DWORD *_pdwStubPhase);
  3115.  
  3116.  
  3117.  
  3118. #endif     /* __IDXARGBSurfaceInit_INTERFACE_DEFINED__ */
  3119.  
  3120.  
  3121. /* interface __MIDL_itf_dxtrans_0269 */
  3122. /* [local] */ 
  3123.  
  3124. typedef struct tagDXNATIVETYPEINFO
  3125.     {
  3126.     BYTE *pCurrentData;
  3127.     BYTE *pFirstByte;
  3128.     long lPitch;
  3129.     DWORD dwColorKey;
  3130.     }     DXNATIVETYPEINFO;
  3131.  
  3132. typedef struct tagDXPACKEDRECTDESC
  3133.     {
  3134.     DXBASESAMPLE *pSamples;
  3135.     BOOL bPremult;
  3136.     RECT rect;
  3137.     long lRowPadding;
  3138.     }     DXPACKEDRECTDESC;
  3139.  
  3140. typedef struct tagDXOVERSAMPLEDESC
  3141.     {
  3142.     POINT p;
  3143.     DXPMSAMPLE Color;
  3144.     }     DXOVERSAMPLEDESC;
  3145.  
  3146.  
  3147.  
  3148. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0269_v0_0_c_ifspec;
  3149. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0269_v0_0_s_ifspec;
  3150.  
  3151. #ifndef __IDXARGBReadPtr_INTERFACE_DEFINED__
  3152. #define __IDXARGBReadPtr_INTERFACE_DEFINED__
  3153.  
  3154. /* interface IDXARGBReadPtr */
  3155. /* [local][unique][helpstring][uuid][object] */ 
  3156.  
  3157.  
  3158. EXTERN_C const IID IID_IDXARGBReadPtr;
  3159.  
  3160. #if defined(__cplusplus) && !defined(CINTERFACE)
  3161.     
  3162.     MIDL_INTERFACE("EAAAC2D6-C290-11d1-905D-00C04FD9189D")
  3163.     IDXARGBReadPtr : public IUnknown
  3164.     {
  3165.     public:
  3166.         virtual HRESULT STDMETHODCALLTYPE GetSurface( 
  3167.             /* [in] */ REFIID riid,
  3168.             /* [iid_is][out] */ void **ppSurface) = 0;
  3169.         
  3170.         virtual DXSAMPLEFORMATENUM STDMETHODCALLTYPE GetNativeType( 
  3171.             /* [out] */ DXNATIVETYPEINFO *pInfo) = 0;
  3172.         
  3173.         virtual void STDMETHODCALLTYPE Move( 
  3174.             /* [in] */ long cSamples) = 0;
  3175.         
  3176.         virtual void STDMETHODCALLTYPE MoveToRow( 
  3177.             /* [in] */ ULONG y) = 0;
  3178.         
  3179.         virtual void STDMETHODCALLTYPE MoveToXY( 
  3180.             /* [in] */ ULONG x,
  3181.             /* [in] */ ULONG y) = 0;
  3182.         
  3183.         virtual ULONG STDMETHODCALLTYPE MoveAndGetRunInfo( 
  3184.             /* [in] */ ULONG Row,
  3185.             /* [out] */ const DXRUNINFO **ppInfo) = 0;
  3186.         
  3187.         virtual DXSAMPLE *STDMETHODCALLTYPE Unpack( 
  3188.             /* [in] */ DXSAMPLE *pSamples,
  3189.             /* [in] */ ULONG cSamples,
  3190.             /* [in] */ BOOL bMove) = 0;
  3191.         
  3192.         virtual DXPMSAMPLE *STDMETHODCALLTYPE UnpackPremult( 
  3193.             /* [in] */ DXPMSAMPLE *pSamples,
  3194.             /* [in] */ ULONG cSamples,
  3195.             /* [in] */ BOOL bMove) = 0;
  3196.         
  3197.         virtual void STDMETHODCALLTYPE UnpackRect( 
  3198.             /* [in] */ const DXPACKEDRECTDESC *pRectDesc) = 0;
  3199.         
  3200.     };
  3201.     
  3202. #else     /* C style interface */
  3203.  
  3204.     typedef struct IDXARGBReadPtrVtbl
  3205.     {
  3206.         BEGIN_INTERFACE
  3207.         
  3208.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3209.             IDXARGBReadPtr * This,
  3210.             /* [in] */ REFIID riid,
  3211.             /* [iid_is][out] */ void **ppvObject);
  3212.         
  3213.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3214.             IDXARGBReadPtr * This);
  3215.         
  3216.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3217.             IDXARGBReadPtr * This);
  3218.         
  3219.         HRESULT ( STDMETHODCALLTYPE *GetSurface )( 
  3220.             IDXARGBReadPtr * This,
  3221.             /* [in] */ REFIID riid,
  3222.             /* [iid_is][out] */ void **ppSurface);
  3223.         
  3224.         DXSAMPLEFORMATENUM ( STDMETHODCALLTYPE *GetNativeType )( 
  3225.             IDXARGBReadPtr * This,
  3226.             /* [out] */ DXNATIVETYPEINFO *pInfo);
  3227.         
  3228.         void ( STDMETHODCALLTYPE *Move )( 
  3229.             IDXARGBReadPtr * This,
  3230.             /* [in] */ long cSamples);
  3231.         
  3232.         void ( STDMETHODCALLTYPE *MoveToRow )( 
  3233.             IDXARGBReadPtr * This,
  3234.             /* [in] */ ULONG y);
  3235.         
  3236.         void ( STDMETHODCALLTYPE *MoveToXY )( 
  3237.             IDXARGBReadPtr * This,
  3238.             /* [in] */ ULONG x,
  3239.             /* [in] */ ULONG y);
  3240.         
  3241.         ULONG ( STDMETHODCALLTYPE *MoveAndGetRunInfo )( 
  3242.             IDXARGBReadPtr * This,
  3243.             /* [in] */ ULONG Row,
  3244.             /* [out] */ const DXRUNINFO **ppInfo);
  3245.         
  3246.         DXSAMPLE *( STDMETHODCALLTYPE *Unpack )( 
  3247.             IDXARGBReadPtr * This,
  3248.             /* [in] */ DXSAMPLE *pSamples,
  3249.             /* [in] */ ULONG cSamples,
  3250.             /* [in] */ BOOL bMove);
  3251.         
  3252.         DXPMSAMPLE *( STDMETHODCALLTYPE *UnpackPremult )( 
  3253.             IDXARGBReadPtr * This,
  3254.             /* [in] */ DXPMSAMPLE *pSamples,
  3255.             /* [in] */ ULONG cSamples,
  3256.             /* [in] */ BOOL bMove);
  3257.         
  3258.         void ( STDMETHODCALLTYPE *UnpackRect )( 
  3259.             IDXARGBReadPtr * This,
  3260.             /* [in] */ const DXPACKEDRECTDESC *pRectDesc);
  3261.         
  3262.         END_INTERFACE
  3263.     } IDXARGBReadPtrVtbl;
  3264.  
  3265.     interface IDXARGBReadPtr
  3266.     {
  3267.         CONST_VTBL struct IDXARGBReadPtrVtbl *lpVtbl;
  3268.     };
  3269.  
  3270.     
  3271.  
  3272. #ifdef COBJMACROS
  3273.  
  3274.  
  3275. #define IDXARGBReadPtr_QueryInterface(This,riid,ppvObject)    \
  3276.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3277.  
  3278. #define IDXARGBReadPtr_AddRef(This)    \
  3279.     (This)->lpVtbl -> AddRef(This)
  3280.  
  3281. #define IDXARGBReadPtr_Release(This)    \
  3282.     (This)->lpVtbl -> Release(This)
  3283.  
  3284.  
  3285. #define IDXARGBReadPtr_GetSurface(This,riid,ppSurface)    \
  3286.     (This)->lpVtbl -> GetSurface(This,riid,ppSurface)
  3287.  
  3288. #define IDXARGBReadPtr_GetNativeType(This,pInfo)    \
  3289.     (This)->lpVtbl -> GetNativeType(This,pInfo)
  3290.  
  3291. #define IDXARGBReadPtr_Move(This,cSamples)    \
  3292.     (This)->lpVtbl -> Move(This,cSamples)
  3293.  
  3294. #define IDXARGBReadPtr_MoveToRow(This,y)    \
  3295.     (This)->lpVtbl -> MoveToRow(This,y)
  3296.  
  3297. #define IDXARGBReadPtr_MoveToXY(This,x,y)    \
  3298.     (This)->lpVtbl -> MoveToXY(This,x,y)
  3299.  
  3300. #define IDXARGBReadPtr_MoveAndGetRunInfo(This,Row,ppInfo)    \
  3301.     (This)->lpVtbl -> MoveAndGetRunInfo(This,Row,ppInfo)
  3302.  
  3303. #define IDXARGBReadPtr_Unpack(This,pSamples,cSamples,bMove)    \
  3304.     (This)->lpVtbl -> Unpack(This,pSamples,cSamples,bMove)
  3305.  
  3306. #define IDXARGBReadPtr_UnpackPremult(This,pSamples,cSamples,bMove)    \
  3307.     (This)->lpVtbl -> UnpackPremult(This,pSamples,cSamples,bMove)
  3308.  
  3309. #define IDXARGBReadPtr_UnpackRect(This,pRectDesc)    \
  3310.     (This)->lpVtbl -> UnpackRect(This,pRectDesc)
  3311.  
  3312. #endif /* COBJMACROS */
  3313.  
  3314.  
  3315. #endif     /* C style interface */
  3316.  
  3317.  
  3318.  
  3319. HRESULT STDMETHODCALLTYPE IDXARGBReadPtr_GetSurface_Proxy( 
  3320.     IDXARGBReadPtr * This,
  3321.     /* [in] */ REFIID riid,
  3322.     /* [iid_is][out] */ void **ppSurface);
  3323.  
  3324.  
  3325. void __RPC_STUB IDXARGBReadPtr_GetSurface_Stub(
  3326.     IRpcStubBuffer *This,
  3327.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3328.     PRPC_MESSAGE _pRpcMessage,
  3329.     DWORD *_pdwStubPhase);
  3330.  
  3331.  
  3332. DXSAMPLEFORMATENUM STDMETHODCALLTYPE IDXARGBReadPtr_GetNativeType_Proxy( 
  3333.     IDXARGBReadPtr * This,
  3334.     /* [out] */ DXNATIVETYPEINFO *pInfo);
  3335.  
  3336.  
  3337. void __RPC_STUB IDXARGBReadPtr_GetNativeType_Stub(
  3338.     IRpcStubBuffer *This,
  3339.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3340.     PRPC_MESSAGE _pRpcMessage,
  3341.     DWORD *_pdwStubPhase);
  3342.  
  3343.  
  3344. void STDMETHODCALLTYPE IDXARGBReadPtr_Move_Proxy( 
  3345.     IDXARGBReadPtr * This,
  3346.     /* [in] */ long cSamples);
  3347.  
  3348.  
  3349. void __RPC_STUB IDXARGBReadPtr_Move_Stub(
  3350.     IRpcStubBuffer *This,
  3351.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3352.     PRPC_MESSAGE _pRpcMessage,
  3353.     DWORD *_pdwStubPhase);
  3354.  
  3355.  
  3356. void STDMETHODCALLTYPE IDXARGBReadPtr_MoveToRow_Proxy( 
  3357.     IDXARGBReadPtr * This,
  3358.     /* [in] */ ULONG y);
  3359.  
  3360.  
  3361. void __RPC_STUB IDXARGBReadPtr_MoveToRow_Stub(
  3362.     IRpcStubBuffer *This,
  3363.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3364.     PRPC_MESSAGE _pRpcMessage,
  3365.     DWORD *_pdwStubPhase);
  3366.  
  3367.  
  3368. void STDMETHODCALLTYPE IDXARGBReadPtr_MoveToXY_Proxy( 
  3369.     IDXARGBReadPtr * This,
  3370.     /* [in] */ ULONG x,
  3371.     /* [in] */ ULONG y);
  3372.  
  3373.  
  3374. void __RPC_STUB IDXARGBReadPtr_MoveToXY_Stub(
  3375.     IRpcStubBuffer *This,
  3376.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3377.     PRPC_MESSAGE _pRpcMessage,
  3378.     DWORD *_pdwStubPhase);
  3379.  
  3380.  
  3381. ULONG STDMETHODCALLTYPE IDXARGBReadPtr_MoveAndGetRunInfo_Proxy( 
  3382.     IDXARGBReadPtr * This,
  3383.     /* [in] */ ULONG Row,
  3384.     /* [out] */ const DXRUNINFO **ppInfo);
  3385.  
  3386.  
  3387. void __RPC_STUB IDXARGBReadPtr_MoveAndGetRunInfo_Stub(
  3388.     IRpcStubBuffer *This,
  3389.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3390.     PRPC_MESSAGE _pRpcMessage,
  3391.     DWORD *_pdwStubPhase);
  3392.  
  3393.  
  3394. DXSAMPLE *STDMETHODCALLTYPE IDXARGBReadPtr_Unpack_Proxy( 
  3395.     IDXARGBReadPtr * This,
  3396.     /* [in] */ DXSAMPLE *pSamples,
  3397.     /* [in] */ ULONG cSamples,
  3398.     /* [in] */ BOOL bMove);
  3399.  
  3400.  
  3401. void __RPC_STUB IDXARGBReadPtr_Unpack_Stub(
  3402.     IRpcStubBuffer *This,
  3403.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3404.     PRPC_MESSAGE _pRpcMessage,
  3405.     DWORD *_pdwStubPhase);
  3406.  
  3407.  
  3408. DXPMSAMPLE *STDMETHODCALLTYPE IDXARGBReadPtr_UnpackPremult_Proxy( 
  3409.     IDXARGBReadPtr * This,
  3410.     /* [in] */ DXPMSAMPLE *pSamples,
  3411.     /* [in] */ ULONG cSamples,
  3412.     /* [in] */ BOOL bMove);
  3413.  
  3414.  
  3415. void __RPC_STUB IDXARGBReadPtr_UnpackPremult_Stub(
  3416.     IRpcStubBuffer *This,
  3417.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3418.     PRPC_MESSAGE _pRpcMessage,
  3419.     DWORD *_pdwStubPhase);
  3420.  
  3421.  
  3422. void STDMETHODCALLTYPE IDXARGBReadPtr_UnpackRect_Proxy( 
  3423.     IDXARGBReadPtr * This,
  3424.     /* [in] */ const DXPACKEDRECTDESC *pRectDesc);
  3425.  
  3426.  
  3427. void __RPC_STUB IDXARGBReadPtr_UnpackRect_Stub(
  3428.     IRpcStubBuffer *This,
  3429.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3430.     PRPC_MESSAGE _pRpcMessage,
  3431.     DWORD *_pdwStubPhase);
  3432.  
  3433.  
  3434.  
  3435. #endif     /* __IDXARGBReadPtr_INTERFACE_DEFINED__ */
  3436.  
  3437.  
  3438. #ifndef __IDXARGBReadWritePtr_INTERFACE_DEFINED__
  3439. #define __IDXARGBReadWritePtr_INTERFACE_DEFINED__
  3440.  
  3441. /* interface IDXARGBReadWritePtr */
  3442. /* [local][unique][helpstring][uuid][object] */ 
  3443.  
  3444.  
  3445. EXTERN_C const IID IID_IDXARGBReadWritePtr;
  3446.  
  3447. #if defined(__cplusplus) && !defined(CINTERFACE)
  3448.     
  3449.     MIDL_INTERFACE("EAAAC2D7-C290-11d1-905D-00C04FD9189D")
  3450.     IDXARGBReadWritePtr : public IDXARGBReadPtr
  3451.     {
  3452.     public:
  3453.         virtual void STDMETHODCALLTYPE PackAndMove( 
  3454.             /* [in] */ const DXSAMPLE *pSamples,
  3455.             /* [in] */ ULONG cSamples) = 0;
  3456.         
  3457.         virtual void STDMETHODCALLTYPE PackPremultAndMove( 
  3458.             /* [in] */ const DXPMSAMPLE *pSamples,
  3459.             /* [in] */ ULONG cSamples) = 0;
  3460.         
  3461.         virtual void STDMETHODCALLTYPE PackRect( 
  3462.             /* [in] */ const DXPACKEDRECTDESC *pRectDesc) = 0;
  3463.         
  3464.         virtual void STDMETHODCALLTYPE CopyAndMoveBoth( 
  3465.             /* [in] */ DXBASESAMPLE *pScratchBuffer,
  3466.             /* [in] */ IDXARGBReadPtr *pSrc,
  3467.             /* [in] */ ULONG cSamples,
  3468.             /* [in] */ BOOL bIsOpaque) = 0;
  3469.         
  3470.         virtual void STDMETHODCALLTYPE CopyRect( 
  3471.             /* [in] */ DXBASESAMPLE *pScratchBuffer,
  3472.             /* [in] */ const RECT *pDestRect,
  3473.             /* [in] */ IDXARGBReadPtr *pSrc,
  3474.             /* [in] */ const POINT *pSrcOrigin,
  3475.             /* [in] */ BOOL bIsOpaque) = 0;
  3476.         
  3477.         virtual void STDMETHODCALLTYPE FillAndMove( 
  3478.             /* [in] */ DXBASESAMPLE *pScratchBuffer,
  3479.             /* [in] */ DXPMSAMPLE SampVal,
  3480.             /* [in] */ ULONG cSamples,
  3481.             /* [in] */ BOOL bDoOver) = 0;
  3482.         
  3483.         virtual void STDMETHODCALLTYPE FillRect( 
  3484.             /* [in] */ const RECT *pRect,
  3485.             /* [in] */ DXPMSAMPLE SampVal,
  3486.             /* [in] */ BOOL bDoOver) = 0;
  3487.         
  3488.         virtual void STDMETHODCALLTYPE OverSample( 
  3489.             /* [in] */ const DXOVERSAMPLEDESC *pOverDesc) = 0;
  3490.         
  3491.         virtual void STDMETHODCALLTYPE OverArrayAndMove( 
  3492.             /* [in] */ DXBASESAMPLE *pScratchBuffer,
  3493.             /* [in] */ const DXPMSAMPLE *pSrc,
  3494.             /* [in] */ ULONG cSamples) = 0;
  3495.         
  3496.     };
  3497.     
  3498. #else     /* C style interface */
  3499.  
  3500.     typedef struct IDXARGBReadWritePtrVtbl
  3501.     {
  3502.         BEGIN_INTERFACE
  3503.         
  3504.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3505.             IDXARGBReadWritePtr * This,
  3506.             /* [in] */ REFIID riid,
  3507.             /* [iid_is][out] */ void **ppvObject);
  3508.         
  3509.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3510.             IDXARGBReadWritePtr * This);
  3511.         
  3512.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3513.             IDXARGBReadWritePtr * This);
  3514.         
  3515.         HRESULT ( STDMETHODCALLTYPE *GetSurface )( 
  3516.             IDXARGBReadWritePtr * This,
  3517.             /* [in] */ REFIID riid,
  3518.             /* [iid_is][out] */ void **ppSurface);
  3519.         
  3520.         DXSAMPLEFORMATENUM ( STDMETHODCALLTYPE *GetNativeType )( 
  3521.             IDXARGBReadWritePtr * This,
  3522.             /* [out] */ DXNATIVETYPEINFO *pInfo);
  3523.         
  3524.         void ( STDMETHODCALLTYPE *Move )( 
  3525.             IDXARGBReadWritePtr * This,
  3526.             /* [in] */ long cSamples);
  3527.         
  3528.         void ( STDMETHODCALLTYPE *MoveToRow )( 
  3529.             IDXARGBReadWritePtr * This,
  3530.             /* [in] */ ULONG y);
  3531.         
  3532.         void ( STDMETHODCALLTYPE *MoveToXY )( 
  3533.             IDXARGBReadWritePtr * This,
  3534.             /* [in] */ ULONG x,
  3535.             /* [in] */ ULONG y);
  3536.         
  3537.         ULONG ( STDMETHODCALLTYPE *MoveAndGetRunInfo )( 
  3538.             IDXARGBReadWritePtr * This,
  3539.             /* [in] */ ULONG Row,
  3540.             /* [out] */ const DXRUNINFO **ppInfo);
  3541.         
  3542.         DXSAMPLE *( STDMETHODCALLTYPE *Unpack )( 
  3543.             IDXARGBReadWritePtr * This,
  3544.             /* [in] */ DXSAMPLE *pSamples,
  3545.             /* [in] */ ULONG cSamples,
  3546.             /* [in] */ BOOL bMove);
  3547.         
  3548.         DXPMSAMPLE *( STDMETHODCALLTYPE *UnpackPremult )( 
  3549.             IDXARGBReadWritePtr * This,
  3550.             /* [in] */ DXPMSAMPLE *pSamples,
  3551.             /* [in] */ ULONG cSamples,
  3552.             /* [in] */ BOOL bMove);
  3553.         
  3554.         void ( STDMETHODCALLTYPE *UnpackRect )( 
  3555.             IDXARGBReadWritePtr * This,
  3556.             /* [in] */ const DXPACKEDRECTDESC *pRectDesc);
  3557.         
  3558.         void ( STDMETHODCALLTYPE *PackAndMove )( 
  3559.             IDXARGBReadWritePtr * This,
  3560.             /* [in] */ const DXSAMPLE *pSamples,
  3561.             /* [in] */ ULONG cSamples);
  3562.         
  3563.         void ( STDMETHODCALLTYPE *PackPremultAndMove )( 
  3564.             IDXARGBReadWritePtr * This,
  3565.             /* [in] */ const DXPMSAMPLE *pSamples,
  3566.             /* [in] */ ULONG cSamples);
  3567.         
  3568.         void ( STDMETHODCALLTYPE *PackRect )( 
  3569.             IDXARGBReadWritePtr * This,
  3570.             /* [in] */ const DXPACKEDRECTDESC *pRectDesc);
  3571.         
  3572.         void ( STDMETHODCALLTYPE *CopyAndMoveBoth )( 
  3573.             IDXARGBReadWritePtr * This,
  3574.             /* [in] */ DXBASESAMPLE *pScratchBuffer,
  3575.             /* [in] */ IDXARGBReadPtr *pSrc,
  3576.             /* [in] */ ULONG cSamples,
  3577.             /* [in] */ BOOL bIsOpaque);
  3578.         
  3579.         void ( STDMETHODCALLTYPE *CopyRect )( 
  3580.             IDXARGBReadWritePtr * This,
  3581.             /* [in] */ DXBASESAMPLE *pScratchBuffer,
  3582.             /* [in] */ const RECT *pDestRect,
  3583.             /* [in] */ IDXARGBReadPtr *pSrc,
  3584.             /* [in] */ const POINT *pSrcOrigin,
  3585.             /* [in] */ BOOL bIsOpaque);
  3586.         
  3587.         void ( STDMETHODCALLTYPE *FillAndMove )( 
  3588.             IDXARGBReadWritePtr * This,
  3589.             /* [in] */ DXBASESAMPLE *pScratchBuffer,
  3590.             /* [in] */ DXPMSAMPLE SampVal,
  3591.             /* [in] */ ULONG cSamples,
  3592.             /* [in] */ BOOL bDoOver);
  3593.         
  3594.         void ( STDMETHODCALLTYPE *FillRect )( 
  3595.             IDXARGBReadWritePtr * This,
  3596.             /* [in] */ const RECT *pRect,
  3597.             /* [in] */ DXPMSAMPLE SampVal,
  3598.             /* [in] */ BOOL bDoOver);
  3599.         
  3600.         void ( STDMETHODCALLTYPE *OverSample )( 
  3601.             IDXARGBReadWritePtr * This,
  3602.             /* [in] */ const DXOVERSAMPLEDESC *pOverDesc);
  3603.         
  3604.         void ( STDMETHODCALLTYPE *OverArrayAndMove )( 
  3605.             IDXARGBReadWritePtr * This,
  3606.             /* [in] */ DXBASESAMPLE *pScratchBuffer,
  3607.             /* [in] */ const DXPMSAMPLE *pSrc,
  3608.             /* [in] */ ULONG cSamples);
  3609.         
  3610.         END_INTERFACE
  3611.     } IDXARGBReadWritePtrVtbl;
  3612.  
  3613.     interface IDXARGBReadWritePtr
  3614.     {
  3615.         CONST_VTBL struct IDXARGBReadWritePtrVtbl *lpVtbl;
  3616.     };
  3617.  
  3618.     
  3619.  
  3620. #ifdef COBJMACROS
  3621.  
  3622.  
  3623. #define IDXARGBReadWritePtr_QueryInterface(This,riid,ppvObject)    \
  3624.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3625.  
  3626. #define IDXARGBReadWritePtr_AddRef(This)    \
  3627.     (This)->lpVtbl -> AddRef(This)
  3628.  
  3629. #define IDXARGBReadWritePtr_Release(This)    \
  3630.     (This)->lpVtbl -> Release(This)
  3631.  
  3632.  
  3633. #define IDXARGBReadWritePtr_GetSurface(This,riid,ppSurface)    \
  3634.     (This)->lpVtbl -> GetSurface(This,riid,ppSurface)
  3635.  
  3636. #define IDXARGBReadWritePtr_GetNativeType(This,pInfo)    \
  3637.     (This)->lpVtbl -> GetNativeType(This,pInfo)
  3638.  
  3639. #define IDXARGBReadWritePtr_Move(This,cSamples)    \
  3640.     (This)->lpVtbl -> Move(This,cSamples)
  3641.  
  3642. #define IDXARGBReadWritePtr_MoveToRow(This,y)    \
  3643.     (This)->lpVtbl -> MoveToRow(This,y)
  3644.  
  3645. #define IDXARGBReadWritePtr_MoveToXY(This,x,y)    \
  3646.     (This)->lpVtbl -> MoveToXY(This,x,y)
  3647.  
  3648. #define IDXARGBReadWritePtr_MoveAndGetRunInfo(This,Row,ppInfo)    \
  3649.     (This)->lpVtbl -> MoveAndGetRunInfo(This,Row,ppInfo)
  3650.  
  3651. #define IDXARGBReadWritePtr_Unpack(This,pSamples,cSamples,bMove)    \
  3652.     (This)->lpVtbl -> Unpack(This,pSamples,cSamples,bMove)
  3653.  
  3654. #define IDXARGBReadWritePtr_UnpackPremult(This,pSamples,cSamples,bMove)    \
  3655.     (This)->lpVtbl -> UnpackPremult(This,pSamples,cSamples,bMove)
  3656.  
  3657. #define IDXARGBReadWritePtr_UnpackRect(This,pRectDesc)    \
  3658.     (This)->lpVtbl -> UnpackRect(This,pRectDesc)
  3659.  
  3660.  
  3661. #define IDXARGBReadWritePtr_PackAndMove(This,pSamples,cSamples)    \
  3662.     (This)->lpVtbl -> PackAndMove(This,pSamples,cSamples)
  3663.  
  3664. #define IDXARGBReadWritePtr_PackPremultAndMove(This,pSamples,cSamples)    \
  3665.     (This)->lpVtbl -> PackPremultAndMove(This,pSamples,cSamples)
  3666.  
  3667. #define IDXARGBReadWritePtr_PackRect(This,pRectDesc)    \
  3668.     (This)->lpVtbl -> PackRect(This,pRectDesc)
  3669.  
  3670. #define IDXARGBReadWritePtr_CopyAndMoveBoth(This,pScratchBuffer,pSrc,cSamples,bIsOpaque)    \
  3671.     (This)->lpVtbl -> CopyAndMoveBoth(This,pScratchBuffer,pSrc,cSamples,bIsOpaque)
  3672.  
  3673. #define IDXARGBReadWritePtr_CopyRect(This,pScratchBuffer,pDestRect,pSrc,pSrcOrigin,bIsOpaque)    \
  3674.     (This)->lpVtbl -> CopyRect(This,pScratchBuffer,pDestRect,pSrc,pSrcOrigin,bIsOpaque)
  3675.  
  3676. #define IDXARGBReadWritePtr_FillAndMove(This,pScratchBuffer,SampVal,cSamples,bDoOver)    \
  3677.     (This)->lpVtbl -> FillAndMove(This,pScratchBuffer,SampVal,cSamples,bDoOver)
  3678.  
  3679. #define IDXARGBReadWritePtr_FillRect(This,pRect,SampVal,bDoOver)    \
  3680.     (This)->lpVtbl -> FillRect(This,pRect,SampVal,bDoOver)
  3681.  
  3682. #define IDXARGBReadWritePtr_OverSample(This,pOverDesc)    \
  3683.     (This)->lpVtbl -> OverSample(This,pOverDesc)
  3684.  
  3685. #define IDXARGBReadWritePtr_OverArrayAndMove(This,pScratchBuffer,pSrc,cSamples)    \
  3686.     (This)->lpVtbl -> OverArrayAndMove(This,pScratchBuffer,pSrc,cSamples)
  3687.  
  3688. #endif /* COBJMACROS */
  3689.  
  3690.  
  3691. #endif     /* C style interface */
  3692.  
  3693.  
  3694.  
  3695. void STDMETHODCALLTYPE IDXARGBReadWritePtr_PackAndMove_Proxy( 
  3696.     IDXARGBReadWritePtr * This,
  3697.     /* [in] */ const DXSAMPLE *pSamples,
  3698.     /* [in] */ ULONG cSamples);
  3699.  
  3700.  
  3701. void __RPC_STUB IDXARGBReadWritePtr_PackAndMove_Stub(
  3702.     IRpcStubBuffer *This,
  3703.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3704.     PRPC_MESSAGE _pRpcMessage,
  3705.     DWORD *_pdwStubPhase);
  3706.  
  3707.  
  3708. void STDMETHODCALLTYPE IDXARGBReadWritePtr_PackPremultAndMove_Proxy( 
  3709.     IDXARGBReadWritePtr * This,
  3710.     /* [in] */ const DXPMSAMPLE *pSamples,
  3711.     /* [in] */ ULONG cSamples);
  3712.  
  3713.  
  3714. void __RPC_STUB IDXARGBReadWritePtr_PackPremultAndMove_Stub(
  3715.     IRpcStubBuffer *This,
  3716.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3717.     PRPC_MESSAGE _pRpcMessage,
  3718.     DWORD *_pdwStubPhase);
  3719.  
  3720.  
  3721. void STDMETHODCALLTYPE IDXARGBReadWritePtr_PackRect_Proxy( 
  3722.     IDXARGBReadWritePtr * This,
  3723.     /* [in] */ const DXPACKEDRECTDESC *pRectDesc);
  3724.  
  3725.  
  3726. void __RPC_STUB IDXARGBReadWritePtr_PackRect_Stub(
  3727.     IRpcStubBuffer *This,
  3728.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3729.     PRPC_MESSAGE _pRpcMessage,
  3730.     DWORD *_pdwStubPhase);
  3731.  
  3732.  
  3733. void STDMETHODCALLTYPE IDXARGBReadWritePtr_CopyAndMoveBoth_Proxy( 
  3734.     IDXARGBReadWritePtr * This,
  3735.     /* [in] */ DXBASESAMPLE *pScratchBuffer,
  3736.     /* [in] */ IDXARGBReadPtr *pSrc,
  3737.     /* [in] */ ULONG cSamples,
  3738.     /* [in] */ BOOL bIsOpaque);
  3739.  
  3740.  
  3741. void __RPC_STUB IDXARGBReadWritePtr_CopyAndMoveBoth_Stub(
  3742.     IRpcStubBuffer *This,
  3743.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3744.     PRPC_MESSAGE _pRpcMessage,
  3745.     DWORD *_pdwStubPhase);
  3746.  
  3747.  
  3748. void STDMETHODCALLTYPE IDXARGBReadWritePtr_CopyRect_Proxy( 
  3749.     IDXARGBReadWritePtr * This,
  3750.     /* [in] */ DXBASESAMPLE *pScratchBuffer,
  3751.     /* [in] */ const RECT *pDestRect,
  3752.     /* [in] */ IDXARGBReadPtr *pSrc,
  3753.     /* [in] */ const POINT *pSrcOrigin,
  3754.     /* [in] */ BOOL bIsOpaque);
  3755.  
  3756.  
  3757. void __RPC_STUB IDXARGBReadWritePtr_CopyRect_Stub(
  3758.     IRpcStubBuffer *This,
  3759.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3760.     PRPC_MESSAGE _pRpcMessage,
  3761.     DWORD *_pdwStubPhase);
  3762.  
  3763.  
  3764. void STDMETHODCALLTYPE IDXARGBReadWritePtr_FillAndMove_Proxy( 
  3765.     IDXARGBReadWritePtr * This,
  3766.     /* [in] */ DXBASESAMPLE *pScratchBuffer,
  3767.     /* [in] */ DXPMSAMPLE SampVal,
  3768.     /* [in] */ ULONG cSamples,
  3769.     /* [in] */ BOOL bDoOver);
  3770.  
  3771.  
  3772. void __RPC_STUB IDXARGBReadWritePtr_FillAndMove_Stub(
  3773.     IRpcStubBuffer *This,
  3774.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3775.     PRPC_MESSAGE _pRpcMessage,
  3776.     DWORD *_pdwStubPhase);
  3777.  
  3778.  
  3779. void STDMETHODCALLTYPE IDXARGBReadWritePtr_FillRect_Proxy( 
  3780.     IDXARGBReadWritePtr * This,
  3781.     /* [in] */ const RECT *pRect,
  3782.     /* [in] */ DXPMSAMPLE SampVal,
  3783.     /* [in] */ BOOL bDoOver);
  3784.  
  3785.  
  3786. void __RPC_STUB IDXARGBReadWritePtr_FillRect_Stub(
  3787.     IRpcStubBuffer *This,
  3788.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3789.     PRPC_MESSAGE _pRpcMessage,
  3790.     DWORD *_pdwStubPhase);
  3791.  
  3792.  
  3793. void STDMETHODCALLTYPE IDXARGBReadWritePtr_OverSample_Proxy( 
  3794.     IDXARGBReadWritePtr * This,
  3795.     /* [in] */ const DXOVERSAMPLEDESC *pOverDesc);
  3796.  
  3797.  
  3798. void __RPC_STUB IDXARGBReadWritePtr_OverSample_Stub(
  3799.     IRpcStubBuffer *This,
  3800.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3801.     PRPC_MESSAGE _pRpcMessage,
  3802.     DWORD *_pdwStubPhase);
  3803.  
  3804.  
  3805. void STDMETHODCALLTYPE IDXARGBReadWritePtr_OverArrayAndMove_Proxy( 
  3806.     IDXARGBReadWritePtr * This,
  3807.     /* [in] */ DXBASESAMPLE *pScratchBuffer,
  3808.     /* [in] */ const DXPMSAMPLE *pSrc,
  3809.     /* [in] */ ULONG cSamples);
  3810.  
  3811.  
  3812. void __RPC_STUB IDXARGBReadWritePtr_OverArrayAndMove_Stub(
  3813.     IRpcStubBuffer *This,
  3814.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3815.     PRPC_MESSAGE _pRpcMessage,
  3816.     DWORD *_pdwStubPhase);
  3817.  
  3818.  
  3819.  
  3820. #endif     /* __IDXARGBReadWritePtr_INTERFACE_DEFINED__ */
  3821.  
  3822.  
  3823. #ifndef __IDXDCLock_INTERFACE_DEFINED__
  3824. #define __IDXDCLock_INTERFACE_DEFINED__
  3825.  
  3826. /* interface IDXDCLock */
  3827. /* [local][unique][helpstring][uuid][object] */ 
  3828.  
  3829.  
  3830. EXTERN_C const IID IID_IDXDCLock;
  3831.  
  3832. #if defined(__cplusplus) && !defined(CINTERFACE)
  3833.     
  3834.     MIDL_INTERFACE("0F619456-CF39-11d1-905E-00C04FD9189D")
  3835.     IDXDCLock : public IUnknown
  3836.     {
  3837.     public:
  3838.         virtual HDC STDMETHODCALLTYPE GetDC( void) = 0;
  3839.         
  3840.     };
  3841.     
  3842. #else     /* C style interface */
  3843.  
  3844.     typedef struct IDXDCLockVtbl
  3845.     {
  3846.         BEGIN_INTERFACE
  3847.         
  3848.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3849.             IDXDCLock * This,
  3850.             /* [in] */ REFIID riid,
  3851.             /* [iid_is][out] */ void **ppvObject);
  3852.         
  3853.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3854.             IDXDCLock * This);
  3855.         
  3856.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3857.             IDXDCLock * This);
  3858.         
  3859.         HDC ( STDMETHODCALLTYPE *GetDC )( 
  3860.             IDXDCLock * This);
  3861.         
  3862.         END_INTERFACE
  3863.     } IDXDCLockVtbl;
  3864.  
  3865.     interface IDXDCLock
  3866.     {
  3867.         CONST_VTBL struct IDXDCLockVtbl *lpVtbl;
  3868.     };
  3869.  
  3870.     
  3871.  
  3872. #ifdef COBJMACROS
  3873.  
  3874.  
  3875. #define IDXDCLock_QueryInterface(This,riid,ppvObject)    \
  3876.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3877.  
  3878. #define IDXDCLock_AddRef(This)    \
  3879.     (This)->lpVtbl -> AddRef(This)
  3880.  
  3881. #define IDXDCLock_Release(This)    \
  3882.     (This)->lpVtbl -> Release(This)
  3883.  
  3884.  
  3885. #define IDXDCLock_GetDC(This)    \
  3886.     (This)->lpVtbl -> GetDC(This)
  3887.  
  3888. #endif /* COBJMACROS */
  3889.  
  3890.  
  3891. #endif     /* C style interface */
  3892.  
  3893.  
  3894.  
  3895. HDC STDMETHODCALLTYPE IDXDCLock_GetDC_Proxy( 
  3896.     IDXDCLock * This);
  3897.  
  3898.  
  3899. void __RPC_STUB IDXDCLock_GetDC_Stub(
  3900.     IRpcStubBuffer *This,
  3901.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3902.     PRPC_MESSAGE _pRpcMessage,
  3903.     DWORD *_pdwStubPhase);
  3904.  
  3905.  
  3906.  
  3907. #endif     /* __IDXDCLock_INTERFACE_DEFINED__ */
  3908.  
  3909.  
  3910. #ifndef __IDXTScaleOutput_INTERFACE_DEFINED__
  3911. #define __IDXTScaleOutput_INTERFACE_DEFINED__
  3912.  
  3913. /* interface IDXTScaleOutput */
  3914. /* [local][unique][helpstring][uuid][object] */ 
  3915.  
  3916.  
  3917. EXTERN_C const IID IID_IDXTScaleOutput;
  3918.  
  3919. #if defined(__cplusplus) && !defined(CINTERFACE)
  3920.     
  3921.     MIDL_INTERFACE("B2024B50-EE77-11d1-9066-00C04FD9189D")
  3922.     IDXTScaleOutput : public IUnknown
  3923.     {
  3924.     public:
  3925.         virtual HRESULT STDMETHODCALLTYPE SetOutputSize( 
  3926.             /* [in] */ const SIZE OutSize,
  3927.             /* [in] */ BOOL bMaintainAspect) = 0;
  3928.         
  3929.     };
  3930.     
  3931. #else     /* C style interface */
  3932.  
  3933.     typedef struct IDXTScaleOutputVtbl
  3934.     {
  3935.         BEGIN_INTERFACE
  3936.         
  3937.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3938.             IDXTScaleOutput * This,
  3939.             /* [in] */ REFIID riid,
  3940.             /* [iid_is][out] */ void **ppvObject);
  3941.         
  3942.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3943.             IDXTScaleOutput * This);
  3944.         
  3945.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3946.             IDXTScaleOutput * This);
  3947.         
  3948.         HRESULT ( STDMETHODCALLTYPE *SetOutputSize )( 
  3949.             IDXTScaleOutput * This,
  3950.             /* [in] */ const SIZE OutSize,
  3951.             /* [in] */ BOOL bMaintainAspect);
  3952.         
  3953.         END_INTERFACE
  3954.     } IDXTScaleOutputVtbl;
  3955.  
  3956.     interface IDXTScaleOutput
  3957.     {
  3958.         CONST_VTBL struct IDXTScaleOutputVtbl *lpVtbl;
  3959.     };
  3960.  
  3961.     
  3962.  
  3963. #ifdef COBJMACROS
  3964.  
  3965.  
  3966. #define IDXTScaleOutput_QueryInterface(This,riid,ppvObject)    \
  3967.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3968.  
  3969. #define IDXTScaleOutput_AddRef(This)    \
  3970.     (This)->lpVtbl -> AddRef(This)
  3971.  
  3972. #define IDXTScaleOutput_Release(This)    \
  3973.     (This)->lpVtbl -> Release(This)
  3974.  
  3975.  
  3976. #define IDXTScaleOutput_SetOutputSize(This,OutSize,bMaintainAspect)    \
  3977.     (This)->lpVtbl -> SetOutputSize(This,OutSize,bMaintainAspect)
  3978.  
  3979. #endif /* COBJMACROS */
  3980.  
  3981.  
  3982. #endif     /* C style interface */
  3983.  
  3984.  
  3985.  
  3986. HRESULT STDMETHODCALLTYPE IDXTScaleOutput_SetOutputSize_Proxy( 
  3987.     IDXTScaleOutput * This,
  3988.     /* [in] */ const SIZE OutSize,
  3989.     /* [in] */ BOOL bMaintainAspect);
  3990.  
  3991.  
  3992. void __RPC_STUB IDXTScaleOutput_SetOutputSize_Stub(
  3993.     IRpcStubBuffer *This,
  3994.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3995.     PRPC_MESSAGE _pRpcMessage,
  3996.     DWORD *_pdwStubPhase);
  3997.  
  3998.  
  3999.  
  4000. #endif     /* __IDXTScaleOutput_INTERFACE_DEFINED__ */
  4001.  
  4002.  
  4003. #ifndef __IDXGradient_INTERFACE_DEFINED__
  4004. #define __IDXGradient_INTERFACE_DEFINED__
  4005.  
  4006. /* interface IDXGradient */
  4007. /* [local][unique][helpstring][uuid][object] */ 
  4008.  
  4009.  
  4010. EXTERN_C const IID IID_IDXGradient;
  4011.  
  4012. #if defined(__cplusplus) && !defined(CINTERFACE)
  4013.     
  4014.     MIDL_INTERFACE("B2024B51-EE77-11d1-9066-00C04FD9189D")
  4015.     IDXGradient : public IDXTScaleOutput
  4016.     {
  4017.     public:
  4018.         virtual HRESULT STDMETHODCALLTYPE SetGradient( 
  4019.             DXSAMPLE StartColor,
  4020.             DXSAMPLE EndColor,
  4021.             BOOL bHorizontal) = 0;
  4022.         
  4023.         virtual HRESULT STDMETHODCALLTYPE GetOutputSize( 
  4024.             /* [out] */ SIZE *pOutSize) = 0;
  4025.         
  4026.     };
  4027.     
  4028. #else     /* C style interface */
  4029.  
  4030.     typedef struct IDXGradientVtbl
  4031.     {
  4032.         BEGIN_INTERFACE
  4033.         
  4034.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4035.             IDXGradient * This,
  4036.             /* [in] */ REFIID riid,
  4037.             /* [iid_is][out] */ void **ppvObject);
  4038.         
  4039.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4040.             IDXGradient * This);
  4041.         
  4042.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4043.             IDXGradient * This);
  4044.         
  4045.         HRESULT ( STDMETHODCALLTYPE *SetOutputSize )( 
  4046.             IDXGradient * This,
  4047.             /* [in] */ const SIZE OutSize,
  4048.             /* [in] */ BOOL bMaintainAspect);
  4049.         
  4050.         HRESULT ( STDMETHODCALLTYPE *SetGradient )( 
  4051.             IDXGradient * This,
  4052.             DXSAMPLE StartColor,
  4053.             DXSAMPLE EndColor,
  4054.             BOOL bHorizontal);
  4055.         
  4056.         HRESULT ( STDMETHODCALLTYPE *GetOutputSize )( 
  4057.             IDXGradient * This,
  4058.             /* [out] */ SIZE *pOutSize);
  4059.         
  4060.         END_INTERFACE
  4061.     } IDXGradientVtbl;
  4062.  
  4063.     interface IDXGradient
  4064.     {
  4065.         CONST_VTBL struct IDXGradientVtbl *lpVtbl;
  4066.     };
  4067.  
  4068.     
  4069.  
  4070. #ifdef COBJMACROS
  4071.  
  4072.  
  4073. #define IDXGradient_QueryInterface(This,riid,ppvObject)    \
  4074.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4075.  
  4076. #define IDXGradient_AddRef(This)    \
  4077.     (This)->lpVtbl -> AddRef(This)
  4078.  
  4079. #define IDXGradient_Release(This)    \
  4080.     (This)->lpVtbl -> Release(This)
  4081.  
  4082.  
  4083. #define IDXGradient_SetOutputSize(This,OutSize,bMaintainAspect)    \
  4084.     (This)->lpVtbl -> SetOutputSize(This,OutSize,bMaintainAspect)
  4085.  
  4086.  
  4087. #define IDXGradient_SetGradient(This,StartColor,EndColor,bHorizontal)    \
  4088.     (This)->lpVtbl -> SetGradient(This,StartColor,EndColor,bHorizontal)
  4089.  
  4090. #define IDXGradient_GetOutputSize(This,pOutSize)    \
  4091.     (This)->lpVtbl -> GetOutputSize(This,pOutSize)
  4092.  
  4093. #endif /* COBJMACROS */
  4094.  
  4095.  
  4096. #endif     /* C style interface */
  4097.  
  4098.  
  4099.  
  4100. HRESULT STDMETHODCALLTYPE IDXGradient_SetGradient_Proxy( 
  4101.     IDXGradient * This,
  4102.     DXSAMPLE StartColor,
  4103.     DXSAMPLE EndColor,
  4104.     BOOL bHorizontal);
  4105.  
  4106.  
  4107. void __RPC_STUB IDXGradient_SetGradient_Stub(
  4108.     IRpcStubBuffer *This,
  4109.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4110.     PRPC_MESSAGE _pRpcMessage,
  4111.     DWORD *_pdwStubPhase);
  4112.  
  4113.  
  4114. HRESULT STDMETHODCALLTYPE IDXGradient_GetOutputSize_Proxy( 
  4115.     IDXGradient * This,
  4116.     /* [out] */ SIZE *pOutSize);
  4117.  
  4118.  
  4119. void __RPC_STUB IDXGradient_GetOutputSize_Stub(
  4120.     IRpcStubBuffer *This,
  4121.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4122.     PRPC_MESSAGE _pRpcMessage,
  4123.     DWORD *_pdwStubPhase);
  4124.  
  4125.  
  4126.  
  4127. #endif     /* __IDXGradient_INTERFACE_DEFINED__ */
  4128.  
  4129.  
  4130. #ifndef __IDXTScale_INTERFACE_DEFINED__
  4131. #define __IDXTScale_INTERFACE_DEFINED__
  4132.  
  4133. /* interface IDXTScale */
  4134. /* [local][unique][helpstring][uuid][object] */ 
  4135.  
  4136.  
  4137. EXTERN_C const IID IID_IDXTScale;
  4138.  
  4139. #if defined(__cplusplus) && !defined(CINTERFACE)
  4140.     
  4141.     MIDL_INTERFACE("B39FD742-E139-11d1-9065-00C04FD9189D")
  4142.     IDXTScale : public IUnknown
  4143.     {
  4144.     public:
  4145.         virtual HRESULT STDMETHODCALLTYPE SetScales( 
  4146.             /* [in] */ float Scales[ 2 ]) = 0;
  4147.         
  4148.         virtual HRESULT STDMETHODCALLTYPE GetScales( 
  4149.             /* [out] */ float Scales[ 2 ]) = 0;
  4150.         
  4151.         virtual HRESULT STDMETHODCALLTYPE ScaleFitToSize( 
  4152.             /* [out][in] */ DXBNDS *pClipBounds,
  4153.             /* [in] */ SIZE FitToSize,
  4154.             /* [in] */ BOOL bMaintainAspect) = 0;
  4155.         
  4156.     };
  4157.     
  4158. #else     /* C style interface */
  4159.  
  4160.     typedef struct IDXTScaleVtbl
  4161.     {
  4162.         BEGIN_INTERFACE
  4163.         
  4164.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4165.             IDXTScale * This,
  4166.             /* [in] */ REFIID riid,
  4167.             /* [iid_is][out] */ void **ppvObject);
  4168.         
  4169.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4170.             IDXTScale * This);
  4171.         
  4172.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4173.             IDXTScale * This);
  4174.         
  4175.         HRESULT ( STDMETHODCALLTYPE *SetScales )( 
  4176.             IDXTScale * This,
  4177.             /* [in] */ float Scales[ 2 ]);
  4178.         
  4179.         HRESULT ( STDMETHODCALLTYPE *GetScales )( 
  4180.             IDXTScale * This,
  4181.             /* [out] */ float Scales[ 2 ]);
  4182.         
  4183.         HRESULT ( STDMETHODCALLTYPE *ScaleFitToSize )( 
  4184.             IDXTScale * This,
  4185.             /* [out][in] */ DXBNDS *pClipBounds,
  4186.             /* [in] */ SIZE FitToSize,
  4187.             /* [in] */ BOOL bMaintainAspect);
  4188.         
  4189.         END_INTERFACE
  4190.     } IDXTScaleVtbl;
  4191.  
  4192.     interface IDXTScale
  4193.     {
  4194.         CONST_VTBL struct IDXTScaleVtbl *lpVtbl;
  4195.     };
  4196.  
  4197.     
  4198.  
  4199. #ifdef COBJMACROS
  4200.  
  4201.  
  4202. #define IDXTScale_QueryInterface(This,riid,ppvObject)    \
  4203.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4204.  
  4205. #define IDXTScale_AddRef(This)    \
  4206.     (This)->lpVtbl -> AddRef(This)
  4207.  
  4208. #define IDXTScale_Release(This)    \
  4209.     (This)->lpVtbl -> Release(This)
  4210.  
  4211.  
  4212. #define IDXTScale_SetScales(This,Scales)    \
  4213.     (This)->lpVtbl -> SetScales(This,Scales)
  4214.  
  4215. #define IDXTScale_GetScales(This,Scales)    \
  4216.     (This)->lpVtbl -> GetScales(This,Scales)
  4217.  
  4218. #define IDXTScale_ScaleFitToSize(This,pClipBounds,FitToSize,bMaintainAspect)    \
  4219.     (This)->lpVtbl -> ScaleFitToSize(This,pClipBounds,FitToSize,bMaintainAspect)
  4220.  
  4221. #endif /* COBJMACROS */
  4222.  
  4223.  
  4224. #endif     /* C style interface */
  4225.  
  4226.  
  4227.  
  4228. HRESULT STDMETHODCALLTYPE IDXTScale_SetScales_Proxy( 
  4229.     IDXTScale * This,
  4230.     /* [in] */ float Scales[ 2 ]);
  4231.  
  4232.  
  4233. void __RPC_STUB IDXTScale_SetScales_Stub(
  4234.     IRpcStubBuffer *This,
  4235.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4236.     PRPC_MESSAGE _pRpcMessage,
  4237.     DWORD *_pdwStubPhase);
  4238.  
  4239.  
  4240. HRESULT STDMETHODCALLTYPE IDXTScale_GetScales_Proxy( 
  4241.     IDXTScale * This,
  4242.     /* [out] */ float Scales[ 2 ]);
  4243.  
  4244.  
  4245. void __RPC_STUB IDXTScale_GetScales_Stub(
  4246.     IRpcStubBuffer *This,
  4247.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4248.     PRPC_MESSAGE _pRpcMessage,
  4249.     DWORD *_pdwStubPhase);
  4250.  
  4251.  
  4252. HRESULT STDMETHODCALLTYPE IDXTScale_ScaleFitToSize_Proxy( 
  4253.     IDXTScale * This,
  4254.     /* [out][in] */ DXBNDS *pClipBounds,
  4255.     /* [in] */ SIZE FitToSize,
  4256.     /* [in] */ BOOL bMaintainAspect);
  4257.  
  4258.  
  4259. void __RPC_STUB IDXTScale_ScaleFitToSize_Stub(
  4260.     IRpcStubBuffer *This,
  4261.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4262.     PRPC_MESSAGE _pRpcMessage,
  4263.     DWORD *_pdwStubPhase);
  4264.  
  4265.  
  4266.  
  4267. #endif     /* __IDXTScale_INTERFACE_DEFINED__ */
  4268.  
  4269.  
  4270. /* interface __MIDL_itf_dxtrans_0275 */
  4271. /* [local] */ 
  4272.  
  4273. typedef 
  4274. enum DISPIDDXEFFECT
  4275.     {    DISPID_DXECAPABILITIES    = 10000,
  4276.     DISPID_DXEPROGRESS    = DISPID_DXECAPABILITIES + 1,
  4277.     DISPID_DXESTEP    = DISPID_DXEPROGRESS + 1,
  4278.     DISPID_DXEDURATION    = DISPID_DXESTEP + 1,
  4279.     DISPID_DXE_NEXT_ID    = DISPID_DXEDURATION + 1
  4280.     }     DISPIDDXBOUNDEDEFFECT;
  4281.  
  4282. typedef 
  4283. enum DXEFFECTTYPE
  4284.     {    DXTET_PERIODIC    = 1 << 0,
  4285.     DXTET_MORPH    = 1 << 1
  4286.     }     DXEFFECTTYPE;
  4287.  
  4288.  
  4289.  
  4290. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0275_v0_0_c_ifspec;
  4291. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0275_v0_0_s_ifspec;
  4292.  
  4293. #ifndef __IDXEffect_INTERFACE_DEFINED__
  4294. #define __IDXEffect_INTERFACE_DEFINED__
  4295.  
  4296. /* interface IDXEffect */
  4297. /* [dual][unique][helpstring][uuid][object] */ 
  4298.  
  4299.  
  4300. EXTERN_C const IID IID_IDXEffect;
  4301.  
  4302. #if defined(__cplusplus) && !defined(CINTERFACE)
  4303.     
  4304.     MIDL_INTERFACE("E31FB81B-1335-11d1-8189-0000F87557DB")
  4305.     IDXEffect : public IDispatch
  4306.     {
  4307.     public:
  4308.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Capabilities( 
  4309.             /* [retval][out] */ long *pVal) = 0;
  4310.         
  4311.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Progress( 
  4312.             /* [retval][out] */ float *pVal) = 0;
  4313.         
  4314.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Progress( 
  4315.             /* [in] */ float newVal) = 0;
  4316.         
  4317.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_StepResolution( 
  4318.             /* [retval][out] */ float *pVal) = 0;
  4319.         
  4320.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Duration( 
  4321.             /* [retval][out] */ float *pVal) = 0;
  4322.         
  4323.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Duration( 
  4324.             /* [in] */ float newVal) = 0;
  4325.         
  4326.     };
  4327.     
  4328. #else     /* C style interface */
  4329.  
  4330.     typedef struct IDXEffectVtbl
  4331.     {
  4332.         BEGIN_INTERFACE
  4333.         
  4334.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4335.             IDXEffect * This,
  4336.             /* [in] */ REFIID riid,
  4337.             /* [iid_is][out] */ void **ppvObject);
  4338.         
  4339.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4340.             IDXEffect * This);
  4341.         
  4342.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4343.             IDXEffect * This);
  4344.         
  4345.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  4346.             IDXEffect * This,
  4347.             /* [out] */ UINT *pctinfo);
  4348.         
  4349.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  4350.             IDXEffect * This,
  4351.             /* [in] */ UINT iTInfo,
  4352.             /* [in] */ LCID lcid,
  4353.             /* [out] */ ITypeInfo **ppTInfo);
  4354.         
  4355.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  4356.             IDXEffect * This,
  4357.             /* [in] */ REFIID riid,
  4358.             /* [size_is][in] */ LPOLESTR *rgszNames,
  4359.             /* [in] */ UINT cNames,
  4360.             /* [in] */ LCID lcid,
  4361.             /* [size_is][out] */ DISPID *rgDispId);
  4362.         
  4363.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  4364.             IDXEffect * This,
  4365.             /* [in] */ DISPID dispIdMember,
  4366.             /* [in] */ REFIID riid,
  4367.             /* [in] */ LCID lcid,
  4368.             /* [in] */ WORD wFlags,
  4369.             /* [out][in] */ DISPPARAMS *pDispParams,
  4370.             /* [out] */ VARIANT *pVarResult,
  4371.             /* [out] */ EXCEPINFO *pExcepInfo,
  4372.             /* [out] */ UINT *puArgErr);
  4373.         
  4374.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Capabilities )( 
  4375.             IDXEffect * This,
  4376.             /* [retval][out] */ long *pVal);
  4377.         
  4378.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Progress )( 
  4379.             IDXEffect * This,
  4380.             /* [retval][out] */ float *pVal);
  4381.         
  4382.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Progress )( 
  4383.             IDXEffect * This,
  4384.             /* [in] */ float newVal);
  4385.         
  4386.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StepResolution )( 
  4387.             IDXEffect * This,
  4388.             /* [retval][out] */ float *pVal);
  4389.         
  4390.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( 
  4391.             IDXEffect * This,
  4392.             /* [retval][out] */ float *pVal);
  4393.         
  4394.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Duration )( 
  4395.             IDXEffect * This,
  4396.             /* [in] */ float newVal);
  4397.         
  4398.         END_INTERFACE
  4399.     } IDXEffectVtbl;
  4400.  
  4401.     interface IDXEffect
  4402.     {
  4403.         CONST_VTBL struct IDXEffectVtbl *lpVtbl;
  4404.     };
  4405.  
  4406.     
  4407.  
  4408. #ifdef COBJMACROS
  4409.  
  4410.  
  4411. #define IDXEffect_QueryInterface(This,riid,ppvObject)    \
  4412.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4413.  
  4414. #define IDXEffect_AddRef(This)    \
  4415.     (This)->lpVtbl -> AddRef(This)
  4416.  
  4417. #define IDXEffect_Release(This)    \
  4418.     (This)->lpVtbl -> Release(This)
  4419.  
  4420.  
  4421. #define IDXEffect_GetTypeInfoCount(This,pctinfo)    \
  4422.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4423.  
  4424. #define IDXEffect_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4425.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4426.  
  4427. #define IDXEffect_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4428.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4429.  
  4430. #define IDXEffect_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4431.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4432.  
  4433.  
  4434. #define IDXEffect_get_Capabilities(This,pVal)    \
  4435.     (This)->lpVtbl -> get_Capabilities(This,pVal)
  4436.  
  4437. #define IDXEffect_get_Progress(This,pVal)    \
  4438.     (This)->lpVtbl -> get_Progress(This,pVal)
  4439.  
  4440. #define IDXEffect_put_Progress(This,newVal)    \
  4441.     (This)->lpVtbl -> put_Progress(This,newVal)
  4442.  
  4443. #define IDXEffect_get_StepResolution(This,pVal)    \
  4444.     (This)->lpVtbl -> get_StepResolution(This,pVal)
  4445.  
  4446. #define IDXEffect_get_Duration(This,pVal)    \
  4447.     (This)->lpVtbl -> get_Duration(This,pVal)
  4448.  
  4449. #define IDXEffect_put_Duration(This,newVal)    \
  4450.     (This)->lpVtbl -> put_Duration(This,newVal)
  4451.  
  4452. #endif /* COBJMACROS */
  4453.  
  4454.  
  4455. #endif     /* C style interface */
  4456.  
  4457.  
  4458.  
  4459. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_Capabilities_Proxy( 
  4460.     IDXEffect * This,
  4461.     /* [retval][out] */ long *pVal);
  4462.  
  4463.  
  4464. void __RPC_STUB IDXEffect_get_Capabilities_Stub(
  4465.     IRpcStubBuffer *This,
  4466.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4467.     PRPC_MESSAGE _pRpcMessage,
  4468.     DWORD *_pdwStubPhase);
  4469.  
  4470.  
  4471. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_Progress_Proxy( 
  4472.     IDXEffect * This,
  4473.     /* [retval][out] */ float *pVal);
  4474.  
  4475.  
  4476. void __RPC_STUB IDXEffect_get_Progress_Stub(
  4477.     IRpcStubBuffer *This,
  4478.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4479.     PRPC_MESSAGE _pRpcMessage,
  4480.     DWORD *_pdwStubPhase);
  4481.  
  4482.  
  4483. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IDXEffect_put_Progress_Proxy( 
  4484.     IDXEffect * This,
  4485.     /* [in] */ float newVal);
  4486.  
  4487.  
  4488. void __RPC_STUB IDXEffect_put_Progress_Stub(
  4489.     IRpcStubBuffer *This,
  4490.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4491.     PRPC_MESSAGE _pRpcMessage,
  4492.     DWORD *_pdwStubPhase);
  4493.  
  4494.  
  4495. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_StepResolution_Proxy( 
  4496.     IDXEffect * This,
  4497.     /* [retval][out] */ float *pVal);
  4498.  
  4499.  
  4500. void __RPC_STUB IDXEffect_get_StepResolution_Stub(
  4501.     IRpcStubBuffer *This,
  4502.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4503.     PRPC_MESSAGE _pRpcMessage,
  4504.     DWORD *_pdwStubPhase);
  4505.  
  4506.  
  4507. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_Duration_Proxy( 
  4508.     IDXEffect * This,
  4509.     /* [retval][out] */ float *pVal);
  4510.  
  4511.  
  4512. void __RPC_STUB IDXEffect_get_Duration_Stub(
  4513.     IRpcStubBuffer *This,
  4514.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4515.     PRPC_MESSAGE _pRpcMessage,
  4516.     DWORD *_pdwStubPhase);
  4517.  
  4518.  
  4519. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IDXEffect_put_Duration_Proxy( 
  4520.     IDXEffect * This,
  4521.     /* [in] */ float newVal);
  4522.  
  4523.  
  4524. void __RPC_STUB IDXEffect_put_Duration_Stub(
  4525.     IRpcStubBuffer *This,
  4526.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4527.     PRPC_MESSAGE _pRpcMessage,
  4528.     DWORD *_pdwStubPhase);
  4529.  
  4530.  
  4531.  
  4532. #endif     /* __IDXEffect_INTERFACE_DEFINED__ */
  4533.  
  4534.  
  4535. #ifndef __IDXLookupTable_INTERFACE_DEFINED__
  4536. #define __IDXLookupTable_INTERFACE_DEFINED__
  4537.  
  4538. /* interface IDXLookupTable */
  4539. /* [local][unique][helpstring][uuid][object] */ 
  4540.  
  4541.  
  4542. EXTERN_C const IID IID_IDXLookupTable;
  4543.  
  4544. #if defined(__cplusplus) && !defined(CINTERFACE)
  4545.     
  4546.     MIDL_INTERFACE("01BAFC7F-9E63-11d1-9053-00C04FD9189D")
  4547.     IDXLookupTable : public IDXBaseObject
  4548.     {
  4549.     public:
  4550.         virtual HRESULT STDMETHODCALLTYPE GetTables( 
  4551.             /* [out] */ BYTE RedLUT[ 256 ],
  4552.             /* [out] */ BYTE GreenLUT[ 256 ],
  4553.             /* [out] */ BYTE BlueLUT[ 256 ],
  4554.             /* [out] */ BYTE AlphaLUT[ 256 ]) = 0;
  4555.         
  4556.         virtual HRESULT STDMETHODCALLTYPE IsChannelIdentity( 
  4557.             /* [out] */ DXBASESAMPLE *pSampleBools) = 0;
  4558.         
  4559.         virtual HRESULT STDMETHODCALLTYPE GetIndexValues( 
  4560.             /* [in] */ ULONG Index,
  4561.             /* [out] */ DXBASESAMPLE *pSample) = 0;
  4562.         
  4563.         virtual HRESULT STDMETHODCALLTYPE ApplyTables( 
  4564.             /* [out][in] */ DXSAMPLE *pSamples,
  4565.             /* [in] */ ULONG cSamples) = 0;
  4566.         
  4567.     };
  4568.     
  4569. #else     /* C style interface */
  4570.  
  4571.     typedef struct IDXLookupTableVtbl
  4572.     {
  4573.         BEGIN_INTERFACE
  4574.         
  4575.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4576.             IDXLookupTable * This,
  4577.             /* [in] */ REFIID riid,
  4578.             /* [iid_is][out] */ void **ppvObject);
  4579.         
  4580.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4581.             IDXLookupTable * This);
  4582.         
  4583.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4584.             IDXLookupTable * This);
  4585.         
  4586.         HRESULT ( STDMETHODCALLTYPE *GetGenerationId )( 
  4587.             IDXLookupTable * This,
  4588.             /* [out] */ ULONG *pID);
  4589.         
  4590.         HRESULT ( STDMETHODCALLTYPE *IncrementGenerationId )( 
  4591.             IDXLookupTable * This,
  4592.             /* [in] */ BOOL bRefresh);
  4593.         
  4594.         HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
  4595.             IDXLookupTable * This,
  4596.             /* [out] */ ULONG *pcbSize);
  4597.         
  4598.         HRESULT ( STDMETHODCALLTYPE *GetTables )( 
  4599.             IDXLookupTable * This,
  4600.             /* [out] */ BYTE RedLUT[ 256 ],
  4601.             /* [out] */ BYTE GreenLUT[ 256 ],
  4602.             /* [out] */ BYTE BlueLUT[ 256 ],
  4603.             /* [out] */ BYTE AlphaLUT[ 256 ]);
  4604.         
  4605.         HRESULT ( STDMETHODCALLTYPE *IsChannelIdentity )( 
  4606.             IDXLookupTable * This,
  4607.             /* [out] */ DXBASESAMPLE *pSampleBools);
  4608.         
  4609.         HRESULT ( STDMETHODCALLTYPE *GetIndexValues )( 
  4610.             IDXLookupTable * This,
  4611.             /* [in] */ ULONG Index,
  4612.             /* [out] */ DXBASESAMPLE *pSample);
  4613.         
  4614.         HRESULT ( STDMETHODCALLTYPE *ApplyTables )( 
  4615.             IDXLookupTable * This,
  4616.             /* [out][in] */ DXSAMPLE *pSamples,
  4617.             /* [in] */ ULONG cSamples);
  4618.         
  4619.         END_INTERFACE
  4620.     } IDXLookupTableVtbl;
  4621.  
  4622.     interface IDXLookupTable
  4623.     {
  4624.         CONST_VTBL struct IDXLookupTableVtbl *lpVtbl;
  4625.     };
  4626.  
  4627.     
  4628.  
  4629. #ifdef COBJMACROS
  4630.  
  4631.  
  4632. #define IDXLookupTable_QueryInterface(This,riid,ppvObject)    \
  4633.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4634.  
  4635. #define IDXLookupTable_AddRef(This)    \
  4636.     (This)->lpVtbl -> AddRef(This)
  4637.  
  4638. #define IDXLookupTable_Release(This)    \
  4639.     (This)->lpVtbl -> Release(This)
  4640.  
  4641.  
  4642. #define IDXLookupTable_GetGenerationId(This,pID)    \
  4643.     (This)->lpVtbl -> GetGenerationId(This,pID)
  4644.  
  4645. #define IDXLookupTable_IncrementGenerationId(This,bRefresh)    \
  4646.     (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  4647.  
  4648. #define IDXLookupTable_GetObjectSize(This,pcbSize)    \
  4649.     (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  4650.  
  4651.  
  4652. #define IDXLookupTable_GetTables(This,RedLUT,GreenLUT,BlueLUT,AlphaLUT)    \
  4653.     (This)->lpVtbl -> GetTables(This,RedLUT,GreenLUT,BlueLUT,AlphaLUT)
  4654.  
  4655. #define IDXLookupTable_IsChannelIdentity(This,pSampleBools)    \
  4656.     (This)->lpVtbl -> IsChannelIdentity(This,pSampleBools)
  4657.  
  4658. #define IDXLookupTable_GetIndexValues(This,Index,pSample)    \
  4659.     (This)->lpVtbl -> GetIndexValues(This,Index,pSample)
  4660.  
  4661. #define IDXLookupTable_ApplyTables(This,pSamples,cSamples)    \
  4662.     (This)->lpVtbl -> ApplyTables(This,pSamples,cSamples)
  4663.  
  4664. #endif /* COBJMACROS */
  4665.  
  4666.  
  4667. #endif     /* C style interface */
  4668.  
  4669.  
  4670.  
  4671. HRESULT STDMETHODCALLTYPE IDXLookupTable_GetTables_Proxy( 
  4672.     IDXLookupTable * This,
  4673.     /* [out] */ BYTE RedLUT[ 256 ],
  4674.     /* [out] */ BYTE GreenLUT[ 256 ],
  4675.     /* [out] */ BYTE BlueLUT[ 256 ],
  4676.     /* [out] */ BYTE AlphaLUT[ 256 ]);
  4677.  
  4678.  
  4679. void __RPC_STUB IDXLookupTable_GetTables_Stub(
  4680.     IRpcStubBuffer *This,
  4681.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4682.     PRPC_MESSAGE _pRpcMessage,
  4683.     DWORD *_pdwStubPhase);
  4684.  
  4685.  
  4686. HRESULT STDMETHODCALLTYPE IDXLookupTable_IsChannelIdentity_Proxy( 
  4687.     IDXLookupTable * This,
  4688.     /* [out] */ DXBASESAMPLE *pSampleBools);
  4689.  
  4690.  
  4691. void __RPC_STUB IDXLookupTable_IsChannelIdentity_Stub(
  4692.     IRpcStubBuffer *This,
  4693.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4694.     PRPC_MESSAGE _pRpcMessage,
  4695.     DWORD *_pdwStubPhase);
  4696.  
  4697.  
  4698. HRESULT STDMETHODCALLTYPE IDXLookupTable_GetIndexValues_Proxy( 
  4699.     IDXLookupTable * This,
  4700.     /* [in] */ ULONG Index,
  4701.     /* [out] */ DXBASESAMPLE *pSample);
  4702.  
  4703.  
  4704. void __RPC_STUB IDXLookupTable_GetIndexValues_Stub(
  4705.     IRpcStubBuffer *This,
  4706.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4707.     PRPC_MESSAGE _pRpcMessage,
  4708.     DWORD *_pdwStubPhase);
  4709.  
  4710.  
  4711. HRESULT STDMETHODCALLTYPE IDXLookupTable_ApplyTables_Proxy( 
  4712.     IDXLookupTable * This,
  4713.     /* [out][in] */ DXSAMPLE *pSamples,
  4714.     /* [in] */ ULONG cSamples);
  4715.  
  4716.  
  4717. void __RPC_STUB IDXLookupTable_ApplyTables_Stub(
  4718.     IRpcStubBuffer *This,
  4719.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4720.     PRPC_MESSAGE _pRpcMessage,
  4721.     DWORD *_pdwStubPhase);
  4722.  
  4723.  
  4724.  
  4725. #endif     /* __IDXLookupTable_INTERFACE_DEFINED__ */
  4726.  
  4727.  
  4728. /* interface __MIDL_itf_dxtrans_0277 */
  4729. /* [local] */ 
  4730.  
  4731. typedef struct DXRAWSURFACEINFO
  4732.     {
  4733.     BYTE *pFirstByte;
  4734.     long lPitch;
  4735.     ULONG Width;
  4736.     ULONG Height;
  4737.     const GUID *pPixelFormat;
  4738.     HDC hdc;
  4739.     DWORD dwColorKey;
  4740.     DXBASESAMPLE *pPalette;
  4741.     }     DXRAWSURFACEINFO;
  4742.  
  4743.  
  4744.  
  4745. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0277_v0_0_c_ifspec;
  4746. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0277_v0_0_s_ifspec;
  4747.  
  4748. #ifndef __IDXRawSurface_INTERFACE_DEFINED__
  4749. #define __IDXRawSurface_INTERFACE_DEFINED__
  4750.  
  4751. /* interface IDXRawSurface */
  4752. /* [local][unique][helpstring][uuid][object] */ 
  4753.  
  4754.  
  4755. EXTERN_C const IID IID_IDXRawSurface;
  4756.  
  4757. #if defined(__cplusplus) && !defined(CINTERFACE)
  4758.     
  4759.     MIDL_INTERFACE("09756C8A-D96A-11d1-9062-00C04FD9189D")
  4760.     IDXRawSurface : public IUnknown
  4761.     {
  4762.     public:
  4763.         virtual HRESULT STDMETHODCALLTYPE GetSurfaceInfo( 
  4764.             DXRAWSURFACEINFO *pSurfaceInfo) = 0;
  4765.         
  4766.     };
  4767.     
  4768. #else     /* C style interface */
  4769.  
  4770.     typedef struct IDXRawSurfaceVtbl
  4771.     {
  4772.         BEGIN_INTERFACE
  4773.         
  4774.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4775.             IDXRawSurface * This,
  4776.             /* [in] */ REFIID riid,
  4777.             /* [iid_is][out] */ void **ppvObject);
  4778.         
  4779.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4780.             IDXRawSurface * This);
  4781.         
  4782.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4783.             IDXRawSurface * This);
  4784.         
  4785.         HRESULT ( STDMETHODCALLTYPE *GetSurfaceInfo )( 
  4786.             IDXRawSurface * This,
  4787.             DXRAWSURFACEINFO *pSurfaceInfo);
  4788.         
  4789.         END_INTERFACE
  4790.     } IDXRawSurfaceVtbl;
  4791.  
  4792.     interface IDXRawSurface
  4793.     {
  4794.         CONST_VTBL struct IDXRawSurfaceVtbl *lpVtbl;
  4795.     };
  4796.  
  4797.     
  4798.  
  4799. #ifdef COBJMACROS
  4800.  
  4801.  
  4802. #define IDXRawSurface_QueryInterface(This,riid,ppvObject)    \
  4803.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4804.  
  4805. #define IDXRawSurface_AddRef(This)    \
  4806.     (This)->lpVtbl -> AddRef(This)
  4807.  
  4808. #define IDXRawSurface_Release(This)    \
  4809.     (This)->lpVtbl -> Release(This)
  4810.  
  4811.  
  4812. #define IDXRawSurface_GetSurfaceInfo(This,pSurfaceInfo)    \
  4813.     (This)->lpVtbl -> GetSurfaceInfo(This,pSurfaceInfo)
  4814.  
  4815. #endif /* COBJMACROS */
  4816.  
  4817.  
  4818. #endif     /* C style interface */
  4819.  
  4820.  
  4821.  
  4822. HRESULT STDMETHODCALLTYPE IDXRawSurface_GetSurfaceInfo_Proxy( 
  4823.     IDXRawSurface * This,
  4824.     DXRAWSURFACEINFO *pSurfaceInfo);
  4825.  
  4826.  
  4827. void __RPC_STUB IDXRawSurface_GetSurfaceInfo_Stub(
  4828.     IRpcStubBuffer *This,
  4829.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4830.     PRPC_MESSAGE _pRpcMessage,
  4831.     DWORD *_pdwStubPhase);
  4832.  
  4833.  
  4834.  
  4835. #endif     /* __IDXRawSurface_INTERFACE_DEFINED__ */
  4836.  
  4837.  
  4838. #ifndef __IHTMLDXTransform_INTERFACE_DEFINED__
  4839. #define __IHTMLDXTransform_INTERFACE_DEFINED__
  4840.  
  4841. /* interface IHTMLDXTransform */
  4842. /* [local][unique][helpstring][uuid][object] */ 
  4843.  
  4844.  
  4845. EXTERN_C const IID IID_IHTMLDXTransform;
  4846.  
  4847. #if defined(__cplusplus) && !defined(CINTERFACE)
  4848.     
  4849.     MIDL_INTERFACE("30E2AB7D-4FDD-4159-B7EA-DC722BF4ADE5")
  4850.     IHTMLDXTransform : public IUnknown
  4851.     {
  4852.     public:
  4853.         virtual HRESULT STDMETHODCALLTYPE SetHostUrl( 
  4854.             BSTR bstrHostUrl) = 0;
  4855.         
  4856.     };
  4857.     
  4858. #else     /* C style interface */
  4859.  
  4860.     typedef struct IHTMLDXTransformVtbl
  4861.     {
  4862.         BEGIN_INTERFACE
  4863.         
  4864.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4865.             IHTMLDXTransform * This,
  4866.             /* [in] */ REFIID riid,
  4867.             /* [iid_is][out] */ void **ppvObject);
  4868.         
  4869.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4870.             IHTMLDXTransform * This);
  4871.         
  4872.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4873.             IHTMLDXTransform * This);
  4874.         
  4875.         HRESULT ( STDMETHODCALLTYPE *SetHostUrl )( 
  4876.             IHTMLDXTransform * This,
  4877.             BSTR bstrHostUrl);
  4878.         
  4879.         END_INTERFACE
  4880.     } IHTMLDXTransformVtbl;
  4881.  
  4882.     interface IHTMLDXTransform
  4883.     {
  4884.         CONST_VTBL struct IHTMLDXTransformVtbl *lpVtbl;
  4885.     };
  4886.  
  4887.     
  4888.  
  4889. #ifdef COBJMACROS
  4890.  
  4891.  
  4892. #define IHTMLDXTransform_QueryInterface(This,riid,ppvObject)    \
  4893.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4894.  
  4895. #define IHTMLDXTransform_AddRef(This)    \
  4896.     (This)->lpVtbl -> AddRef(This)
  4897.  
  4898. #define IHTMLDXTransform_Release(This)    \
  4899.     (This)->lpVtbl -> Release(This)
  4900.  
  4901.  
  4902. #define IHTMLDXTransform_SetHostUrl(This,bstrHostUrl)    \
  4903.     (This)->lpVtbl -> SetHostUrl(This,bstrHostUrl)
  4904.  
  4905. #endif /* COBJMACROS */
  4906.  
  4907.  
  4908. #endif     /* C style interface */
  4909.  
  4910.  
  4911.  
  4912. HRESULT STDMETHODCALLTYPE IHTMLDXTransform_SetHostUrl_Proxy( 
  4913.     IHTMLDXTransform * This,
  4914.     BSTR bstrHostUrl);
  4915.  
  4916.  
  4917. void __RPC_STUB IHTMLDXTransform_SetHostUrl_Stub(
  4918.     IRpcStubBuffer *This,
  4919.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4920.     PRPC_MESSAGE _pRpcMessage,
  4921.     DWORD *_pdwStubPhase);
  4922.  
  4923.  
  4924.  
  4925. #endif     /* __IHTMLDXTransform_INTERFACE_DEFINED__ */
  4926.  
  4927.  
  4928. /* interface __MIDL_itf_dxtrans_0279 */
  4929. /* [local] */ 
  4930.  
  4931. typedef 
  4932. enum DXTFILTER_STATUS
  4933.     {    DXTFILTER_STATUS_Stopped    = 0,
  4934.     DXTFILTER_STATUS_Applied    = DXTFILTER_STATUS_Stopped + 1,
  4935.     DXTFILTER_STATUS_Playing    = DXTFILTER_STATUS_Applied + 1,
  4936.     DXTFILTER_STATUS_MAX    = DXTFILTER_STATUS_Playing + 1
  4937.     }     DXTFILTER_STATUS;
  4938.  
  4939. typedef 
  4940. enum DXTFILTER_DISPID
  4941.     {    DISPID_DXTFilter_Percent    = 1,
  4942.     DISPID_DXTFilter_Duration    = DISPID_DXTFilter_Percent + 1,
  4943.     DISPID_DXTFilter_Enabled    = DISPID_DXTFilter_Duration + 1,
  4944.     DISPID_DXTFilter_Status    = DISPID_DXTFilter_Enabled + 1,
  4945.     DISPID_DXTFilter_Apply    = DISPID_DXTFilter_Status + 1,
  4946.     DISPID_DXTFilter_Play    = DISPID_DXTFilter_Apply + 1,
  4947.     DISPID_DXTFilter_Stop    = DISPID_DXTFilter_Play + 1,
  4948.     DISPID_DXTFilter_MAX    = DISPID_DXTFilter_Stop + 1
  4949.     }     DXTFILTER_DISPID;
  4950.  
  4951.  
  4952.  
  4953. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0279_v0_0_c_ifspec;
  4954. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0279_v0_0_s_ifspec;
  4955.  
  4956. #ifndef __ICSSFilterDispatch_INTERFACE_DEFINED__
  4957. #define __ICSSFilterDispatch_INTERFACE_DEFINED__
  4958.  
  4959. /* interface ICSSFilterDispatch */
  4960. /* [dual][unique][helpstring][uuid][object] */ 
  4961.  
  4962.  
  4963. EXTERN_C const IID IID_ICSSFilterDispatch;
  4964.  
  4965. #if defined(__cplusplus) && !defined(CINTERFACE)
  4966.     
  4967.     MIDL_INTERFACE("9519152B-9484-4A6C-B6A7-4F25E92D6C6B")
  4968.     ICSSFilterDispatch : public IDispatch
  4969.     {
  4970.     public:
  4971.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Percent( 
  4972.             /* [retval][out] */ float *pVal) = 0;
  4973.         
  4974.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Percent( 
  4975.             /* [in] */ float newVal) = 0;
  4976.         
  4977.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Duration( 
  4978.             /* [retval][out] */ float *pVal) = 0;
  4979.         
  4980.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Duration( 
  4981.             /* [in] */ float newVal) = 0;
  4982.         
  4983.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
  4984.             /* [retval][out] */ VARIANT_BOOL *pfVal) = 0;
  4985.         
  4986.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
  4987.             /* [in] */ VARIANT_BOOL fVal) = 0;
  4988.         
  4989.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
  4990.             /* [retval][out] */ DXTFILTER_STATUS *peVal) = 0;
  4991.         
  4992.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Apply( void) = 0;
  4993.         
  4994.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Play( 
  4995.             /* [optional][in] */ VARIANT varDuration) = 0;
  4996.         
  4997.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  4998.         
  4999.     };
  5000.     
  5001. #else     /* C style interface */
  5002.  
  5003.     typedef struct ICSSFilterDispatchVtbl
  5004.     {
  5005.         BEGIN_INTERFACE
  5006.         
  5007.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5008.             ICSSFilterDispatch * This,
  5009.             /* [in] */ REFIID riid,
  5010.             /* [iid_is][out] */ void **ppvObject);
  5011.         
  5012.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5013.             ICSSFilterDispatch * This);
  5014.         
  5015.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5016.             ICSSFilterDispatch * This);
  5017.         
  5018.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  5019.             ICSSFilterDispatch * This,
  5020.             /* [out] */ UINT *pctinfo);
  5021.         
  5022.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  5023.             ICSSFilterDispatch * This,
  5024.             /* [in] */ UINT iTInfo,
  5025.             /* [in] */ LCID lcid,
  5026.             /* [out] */ ITypeInfo **ppTInfo);
  5027.         
  5028.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  5029.             ICSSFilterDispatch * This,
  5030.             /* [in] */ REFIID riid,
  5031.             /* [size_is][in] */ LPOLESTR *rgszNames,
  5032.             /* [in] */ UINT cNames,
  5033.             /* [in] */ LCID lcid,
  5034.             /* [size_is][out] */ DISPID *rgDispId);
  5035.         
  5036.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  5037.             ICSSFilterDispatch * This,
  5038.             /* [in] */ DISPID dispIdMember,
  5039.             /* [in] */ REFIID riid,
  5040.             /* [in] */ LCID lcid,
  5041.             /* [in] */ WORD wFlags,
  5042.             /* [out][in] */ DISPPARAMS *pDispParams,
  5043.             /* [out] */ VARIANT *pVarResult,
  5044.             /* [out] */ EXCEPINFO *pExcepInfo,
  5045.             /* [out] */ UINT *puArgErr);
  5046.         
  5047.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Percent )( 
  5048.             ICSSFilterDispatch * This,
  5049.             /* [retval][out] */ float *pVal);
  5050.         
  5051.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Percent )( 
  5052.             ICSSFilterDispatch * This,
  5053.             /* [in] */ float newVal);
  5054.         
  5055.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( 
  5056.             ICSSFilterDispatch * This,
  5057.             /* [retval][out] */ float *pVal);
  5058.         
  5059.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Duration )( 
  5060.             ICSSFilterDispatch * This,
  5061.             /* [in] */ float newVal);
  5062.         
  5063.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
  5064.             ICSSFilterDispatch * This,
  5065.             /* [retval][out] */ VARIANT_BOOL *pfVal);
  5066.         
  5067.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
  5068.             ICSSFilterDispatch * This,
  5069.             /* [in] */ VARIANT_BOOL fVal);
  5070.         
  5071.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  5072.             ICSSFilterDispatch * This,
  5073.             /* [retval][out] */ DXTFILTER_STATUS *peVal);
  5074.         
  5075.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Apply )( 
  5076.             ICSSFilterDispatch * This);
  5077.         
  5078.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Play )( 
  5079.             ICSSFilterDispatch * This,
  5080.             /* [optional][in] */ VARIANT varDuration);
  5081.         
  5082.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
  5083.             ICSSFilterDispatch * This);
  5084.         
  5085.         END_INTERFACE
  5086.     } ICSSFilterDispatchVtbl;
  5087.  
  5088.     interface ICSSFilterDispatch
  5089.     {
  5090.         CONST_VTBL struct ICSSFilterDispatchVtbl *lpVtbl;
  5091.     };
  5092.  
  5093.     
  5094.  
  5095. #ifdef COBJMACROS
  5096.  
  5097.  
  5098. #define ICSSFilterDispatch_QueryInterface(This,riid,ppvObject)    \
  5099.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5100.  
  5101. #define ICSSFilterDispatch_AddRef(This)    \
  5102.     (This)->lpVtbl -> AddRef(This)
  5103.  
  5104. #define ICSSFilterDispatch_Release(This)    \
  5105.     (This)->lpVtbl -> Release(This)
  5106.  
  5107.  
  5108. #define ICSSFilterDispatch_GetTypeInfoCount(This,pctinfo)    \
  5109.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5110.  
  5111. #define ICSSFilterDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5112.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5113.  
  5114. #define ICSSFilterDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5115.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5116.  
  5117. #define ICSSFilterDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5118.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5119.  
  5120.  
  5121. #define ICSSFilterDispatch_get_Percent(This,pVal)    \
  5122.     (This)->lpVtbl -> get_Percent(This,pVal)
  5123.  
  5124. #define ICSSFilterDispatch_put_Percent(This,newVal)    \
  5125.     (This)->lpVtbl -> put_Percent(This,newVal)
  5126.  
  5127. #define ICSSFilterDispatch_get_Duration(This,pVal)    \
  5128.     (This)->lpVtbl -> get_Duration(This,pVal)
  5129.  
  5130. #define ICSSFilterDispatch_put_Duration(This,newVal)    \
  5131.     (This)->lpVtbl -> put_Duration(This,newVal)
  5132.  
  5133. #define ICSSFilterDispatch_get_Enabled(This,pfVal)    \
  5134.     (This)->lpVtbl -> get_Enabled(This,pfVal)
  5135.  
  5136. #define ICSSFilterDispatch_put_Enabled(This,fVal)    \
  5137.     (This)->lpVtbl -> put_Enabled(This,fVal)
  5138.  
  5139. #define ICSSFilterDispatch_get_Status(This,peVal)    \
  5140.     (This)->lpVtbl -> get_Status(This,peVal)
  5141.  
  5142. #define ICSSFilterDispatch_Apply(This)    \
  5143.     (This)->lpVtbl -> Apply(This)
  5144.  
  5145. #define ICSSFilterDispatch_Play(This,varDuration)    \
  5146.     (This)->lpVtbl -> Play(This,varDuration)
  5147.  
  5148. #define ICSSFilterDispatch_Stop(This)    \
  5149.     (This)->lpVtbl -> Stop(This)
  5150.  
  5151. #endif /* COBJMACROS */
  5152.  
  5153.  
  5154. #endif     /* C style interface */
  5155.  
  5156.  
  5157.  
  5158. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_get_Percent_Proxy( 
  5159.     ICSSFilterDispatch * This,
  5160.     /* [retval][out] */ float *pVal);
  5161.  
  5162.  
  5163. void __RPC_STUB ICSSFilterDispatch_get_Percent_Stub(
  5164.     IRpcStubBuffer *This,
  5165.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5166.     PRPC_MESSAGE _pRpcMessage,
  5167.     DWORD *_pdwStubPhase);
  5168.  
  5169.  
  5170. /* [id][propput] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_put_Percent_Proxy( 
  5171.     ICSSFilterDispatch * This,
  5172.     /* [in] */ float newVal);
  5173.  
  5174.  
  5175. void __RPC_STUB ICSSFilterDispatch_put_Percent_Stub(
  5176.     IRpcStubBuffer *This,
  5177.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5178.     PRPC_MESSAGE _pRpcMessage,
  5179.     DWORD *_pdwStubPhase);
  5180.  
  5181.  
  5182. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_get_Duration_Proxy( 
  5183.     ICSSFilterDispatch * This,
  5184.     /* [retval][out] */ float *pVal);
  5185.  
  5186.  
  5187. void __RPC_STUB ICSSFilterDispatch_get_Duration_Stub(
  5188.     IRpcStubBuffer *This,
  5189.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5190.     PRPC_MESSAGE _pRpcMessage,
  5191.     DWORD *_pdwStubPhase);
  5192.  
  5193.  
  5194. /* [id][propput] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_put_Duration_Proxy( 
  5195.     ICSSFilterDispatch * This,
  5196.     /* [in] */ float newVal);
  5197.  
  5198.  
  5199. void __RPC_STUB ICSSFilterDispatch_put_Duration_Stub(
  5200.     IRpcStubBuffer *This,
  5201.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5202.     PRPC_MESSAGE _pRpcMessage,
  5203.     DWORD *_pdwStubPhase);
  5204.  
  5205.  
  5206. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_get_Enabled_Proxy( 
  5207.     ICSSFilterDispatch * This,
  5208.     /* [retval][out] */ VARIANT_BOOL *pfVal);
  5209.  
  5210.  
  5211. void __RPC_STUB ICSSFilterDispatch_get_Enabled_Stub(
  5212.     IRpcStubBuffer *This,
  5213.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5214.     PRPC_MESSAGE _pRpcMessage,
  5215.     DWORD *_pdwStubPhase);
  5216.  
  5217.  
  5218. /* [id][propput] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_put_Enabled_Proxy( 
  5219.     ICSSFilterDispatch * This,
  5220.     /* [in] */ VARIANT_BOOL fVal);
  5221.  
  5222.  
  5223. void __RPC_STUB ICSSFilterDispatch_put_Enabled_Stub(
  5224.     IRpcStubBuffer *This,
  5225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5226.     PRPC_MESSAGE _pRpcMessage,
  5227.     DWORD *_pdwStubPhase);
  5228.  
  5229.  
  5230. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_get_Status_Proxy( 
  5231.     ICSSFilterDispatch * This,
  5232.     /* [retval][out] */ DXTFILTER_STATUS *peVal);
  5233.  
  5234.  
  5235. void __RPC_STUB ICSSFilterDispatch_get_Status_Stub(
  5236.     IRpcStubBuffer *This,
  5237.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5238.     PRPC_MESSAGE _pRpcMessage,
  5239.     DWORD *_pdwStubPhase);
  5240.  
  5241.  
  5242. /* [id] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_Apply_Proxy( 
  5243.     ICSSFilterDispatch * This);
  5244.  
  5245.  
  5246. void __RPC_STUB ICSSFilterDispatch_Apply_Stub(
  5247.     IRpcStubBuffer *This,
  5248.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5249.     PRPC_MESSAGE _pRpcMessage,
  5250.     DWORD *_pdwStubPhase);
  5251.  
  5252.  
  5253. /* [id] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_Play_Proxy( 
  5254.     ICSSFilterDispatch * This,
  5255.     /* [optional][in] */ VARIANT varDuration);
  5256.  
  5257.  
  5258. void __RPC_STUB ICSSFilterDispatch_Play_Stub(
  5259.     IRpcStubBuffer *This,
  5260.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5261.     PRPC_MESSAGE _pRpcMessage,
  5262.     DWORD *_pdwStubPhase);
  5263.  
  5264.  
  5265. /* [id] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_Stop_Proxy( 
  5266.     ICSSFilterDispatch * This);
  5267.  
  5268.  
  5269. void __RPC_STUB ICSSFilterDispatch_Stop_Stub(
  5270.     IRpcStubBuffer *This,
  5271.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5272.     PRPC_MESSAGE _pRpcMessage,
  5273.     DWORD *_pdwStubPhase);
  5274.  
  5275.  
  5276.  
  5277. #endif     /* __ICSSFilterDispatch_INTERFACE_DEFINED__ */
  5278.  
  5279.  
  5280.  
  5281. #ifndef __DXTRANSLib_LIBRARY_DEFINED__
  5282. #define __DXTRANSLib_LIBRARY_DEFINED__
  5283.  
  5284. /* library DXTRANSLib */
  5285. /* [helpstring][version][uuid] */ 
  5286.  
  5287.  
  5288. EXTERN_C const IID LIBID_DXTRANSLib;
  5289.  
  5290. EXTERN_C const CLSID CLSID_DXTransformFactory;
  5291.  
  5292. #ifdef __cplusplus
  5293.  
  5294. class DECLSPEC_UUID("D1FE6762-FC48-11D0-883A-3C8B00C10000")
  5295. DXTransformFactory;
  5296. #endif
  5297.  
  5298. EXTERN_C const CLSID CLSID_DXTaskManager;
  5299.  
  5300. #ifdef __cplusplus
  5301.  
  5302. class DECLSPEC_UUID("4CB26C03-FF93-11d0-817E-0000F87557DB")
  5303. DXTaskManager;
  5304. #endif
  5305.  
  5306. EXTERN_C const CLSID CLSID_DXTScale;
  5307.  
  5308. #ifdef __cplusplus
  5309.  
  5310. class DECLSPEC_UUID("555278E2-05DB-11D1-883A-3C8B00C10000")
  5311. DXTScale;
  5312. #endif
  5313.  
  5314. EXTERN_C const CLSID CLSID_DXSurface;
  5315.  
  5316. #ifdef __cplusplus
  5317.  
  5318. class DECLSPEC_UUID("0E890F83-5F79-11D1-9043-00C04FD9189D")
  5319. DXSurface;
  5320. #endif
  5321.  
  5322. EXTERN_C const CLSID CLSID_DXSurfaceModifier;
  5323.  
  5324. #ifdef __cplusplus
  5325.  
  5326. class DECLSPEC_UUID("3E669F1D-9C23-11d1-9053-00C04FD9189D")
  5327. DXSurfaceModifier;
  5328. #endif
  5329.  
  5330. EXTERN_C const CLSID CLSID_DXGradient;
  5331.  
  5332. #ifdef __cplusplus
  5333.  
  5334. class DECLSPEC_UUID("C6365470-F667-11d1-9067-00C04FD9189D")
  5335. DXGradient;
  5336. #endif
  5337.  
  5338. EXTERN_C const CLSID CLSID_DXTFilter;
  5339.  
  5340. #ifdef __cplusplus
  5341.  
  5342. class DECLSPEC_UUID("385A91BC-1E8A-4e4a-A7A6-F4FC1E6CA1BD")
  5343. DXTFilter;
  5344. #endif
  5345. #endif /* __DXTRANSLib_LIBRARY_DEFINED__ */
  5346.  
  5347. /* Additional Prototypes for ALL interfaces */
  5348.  
  5349. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  5350. unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  5351. unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  5352. void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  5353.  
  5354. /* end of Additional Prototypes */
  5355.  
  5356. #ifdef __cplusplus
  5357. }
  5358. #endif
  5359.  
  5360. #endif
  5361.  
  5362.  
  5363.